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
October 2009
----- 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
26 participants
641 discussions
Start a n
N
ew thread
[fireball] 43720: - Assign "Default" desktop to processes who don't have a parent.
by fireball@svn.reactos.org
Author: fireball Date: Sat Oct 24 20:37:56 2009 New Revision: 43720 URL:
http://svn.reactos.org/svn/reactos?rev=43720&view=rev
Log: - Assign "Default" desktop to processes who don't have a parent. Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/init.c branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/init.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] Sat Oct 24 20:37:56 2009 @@ -125,7 +125,8 @@ } if (Type == PsW32ThreadCalloutInitialize) { - DPRINT("Creating W32 thread TID:%d at IRQ level: %lu. Win32Process %p\n", Thread->Tcb.Teb->ClientId.UniqueThread, KeGetCurrentIrql(), Win32Process); + DPRINT("Creating W32 thread TID:%d PID:%d at IRQ level: %lu. Win32Process %p, desktop %x\n", + Thread->Tcb.Teb->ClientId.UniqueThread, Thread->Tcb.Teb->ClientId.UniqueProcess, KeGetCurrentIrql(), Win32Process, Win32Process->desktop); Win32Thread->process = Win32Process; Win32Thread->peThread = Thread; Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/winstation.c [iso-8859-1] Sat Oct 24 20:37:56 2009 @@ -439,17 +439,16 @@ process, 0, 0, DUP_HANDLE_SAME_ACCESS ); } - if (handle) set_process_default_desktop( process, desktop, handle ); - -#if 0 - { - // set default desktop differently. Just always assign a "default" desktop +#if 1 + else + { + // Always assign a "default" desktop if there is no parent desktop WCHAR deskbuf[8]; struct unicode_str full_str, desktop_name; WCHAR *full_name; desktop_name.str = deskbuf; - desktop_name.len = sizeof(deskbuf); + desktop_name.len = sizeof(deskbuf) - sizeof(WCHAR); wcscpy(deskbuf, L"Default"); if ((full_name = build_desktop_name( &desktop_name, winstation, &full_str ))) @@ -457,10 +456,12 @@ handle = open_object( winstation_namespace, &full_str, &desktop_ops, GENERIC_ALL, OBJ_CASE_INSENSITIVE ); ExFreePool( full_name ); - DPRINT1("handle %x\n", handle); + DPRINT("handle %x\n", handle); } } #endif + + if (handle) set_process_default_desktop( process, desktop, handle ); done: if (desktop) release_object( desktop );
15 years, 2 months
1
0
0
0
[dreimer] 43719: Sync wordpad and winhlp32 to Wine 1.1.31 Update 3rd Party Files.txt
by dreimer@svn.reactos.org
Author: dreimer Date: Sat Oct 24 19:23:52 2009 New Revision: 43719 URL:
http://svn.reactos.org/svn/reactos?rev=43719&view=rev
Log: Sync wordpad and winhlp32 to Wine 1.1.31 Update 3rd Party Files.txt Modified: trunk/reactos/base/applications/winhlp32/callback.c trunk/reactos/base/applications/winhlp32/lex.yy.c trunk/reactos/base/applications/winhlp32/macro.c trunk/reactos/base/applications/winhlp32/macro.lex.l trunk/reactos/base/applications/winhlp32/winhelp.h trunk/reactos/base/applications/wordpad/Ru.rc trunk/reactos/media/doc/3rd Party Files.txt Modified: trunk/reactos/base/applications/winhlp32/callback.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/winhlp32…
============================================================================== --- trunk/reactos/base/applications/winhlp32/callback.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/winhlp32/callback.c [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -158,23 +158,23 @@ return 0; } -FARPROC Callbacks[] = +const struct winhelp_callbacks Callbacks = { - (FARPROC)WHD_GetFSError, - (FARPROC)WHD_Open, - (FARPROC)WHD_Close, - (FARPROC)WHD_OpenBag, - (FARPROC)WHD_CloseBag, - (FARPROC)WHD_ReadBag, - (FARPROC)WHD_TellBag, - (FARPROC)WHD_SeekBag, - (FARPROC)WHD_IsEofBag, - (FARPROC)WHD_SizeBag, - (FARPROC)WHD_Access, - (FARPROC)WHD_LLInfoFromBag, - (FARPROC)WHD_LLInfoFromFile, - (FARPROC)WHD_Error, - (FARPROC)WHD_ErrorString, - (FARPROC)WHD_GetInfo, - (FARPROC)WHD_API + WHD_GetFSError, + WHD_Open, + WHD_Close, + WHD_OpenBag, + WHD_CloseBag, + WHD_ReadBag, + WHD_TellBag, + WHD_SeekBag, + WHD_IsEofBag, + WHD_SizeBag, + WHD_Access, + WHD_LLInfoFromBag, + WHD_LLInfoFromFile, + WHD_Error, + WHD_ErrorString, + WHD_GetInfo, + WHD_API }; Modified: trunk/reactos/base/applications/winhlp32/lex.yy.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/winhlp32…
============================================================================== --- trunk/reactos/base/applications/winhlp32/lex.yy.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/winhlp32/lex.yy.c [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -380,9 +380,9 @@ #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "macro.lex.l" +#line 1 ".\\macro.lex.l" #define INITIAL 0 -#line 2 "macro.lex.l" +#line 2 ".\\macro.lex.l" /* * Help Viewer * @@ -407,7 +407,7 @@ #define YY_NO_UNPUT 1 #define quote 1 -#line 26 "macro.lex.l" +#line 26 ".\\macro.lex.l" #include "config.h" #include <assert.h> #include <stdarg.h> @@ -593,7 +593,7 @@ register char *yy_cp, *yy_bp; register int yy_act; -#line 61 "macro.lex.l" +#line 61 ".\\macro.lex.l" #line 600 "lex.yy.c" @@ -681,32 +681,32 @@ case 1: YY_RULE_SETUP -#line 63 "macro.lex.l" +#line 63 ".\\macro.lex.l" yylval.integer = strtol(yytext, NULL, 10); return INTEGER; YY_BREAK case 2: YY_RULE_SETUP -#line 64 "macro.lex.l" +#line 64 ".\\macro.lex.l" yylval.integer = strtol(yytext, NULL, 16); return INTEGER; YY_BREAK case 3: YY_RULE_SETUP -#line 66 "macro.lex.l" +#line 66 ".\\macro.lex.l" return MACRO_Lookup(yytext, &yylval); YY_BREAK case 4: -#line 69 "macro.lex.l" +#line 69 ".\\macro.lex.l" case 5: -#line 70 "macro.lex.l" +#line 70 ".\\macro.lex.l" case 6: -#line 71 "macro.lex.l" +#line 71 ".\\macro.lex.l" case 7: -#line 72 "macro.lex.l" +#line 72 ".\\macro.lex.l" case 8: -#line 73 "macro.lex.l" +#line 73 ".\\macro.lex.l" case 9: YY_RULE_SETUP -#line 73 "macro.lex.l" +#line 73 ".\\macro.lex.l" { if (lex_data->quote_stk_idx == 0 || (yytext[0] == '\"' && lex_data->quote_stack[lex_data->quote_stk_idx - 1] != '\"') || @@ -741,31 +741,31 @@ YY_BREAK case 10: YY_RULE_SETUP -#line 105 "macro.lex.l" +#line 105 ".\\macro.lex.l" *lex_data->strptr++ = yytext[0]; YY_BREAK case 11: YY_RULE_SETUP -#line 106 "macro.lex.l" +#line 106 ".\\macro.lex.l" *lex_data->strptr++ = yytext[1]; YY_BREAK case YY_STATE_EOF(quote): -#line 107 "macro.lex.l" +#line 107 ".\\macro.lex.l" return 0; YY_BREAK case 12: YY_RULE_SETUP -#line 109 "macro.lex.l" +#line 109 ".\\macro.lex.l" YY_BREAK case 13: YY_RULE_SETUP -#line 110 "macro.lex.l" +#line 110 ".\\macro.lex.l" return yytext[0]; YY_BREAK case 14: YY_RULE_SETUP -#line 111 "macro.lex.l" +#line 111 ".\\macro.lex.l" ECHO; YY_BREAK #line 772 "lex.yy.c" @@ -1654,7 +1654,7 @@ return 0; } #endif -#line 111 "macro.lex.l" +#line 111 ".\\macro.lex.l" #if 0 @@ -1699,7 +1699,7 @@ } } -static int MACRO_CallBoolFunc(FARPROC fn, const char* args, void** ret); +static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret); /****************************************************************** * MACRO_CheckArgs @@ -1769,7 +1769,7 @@ * Invokes boolean function fn, which arguments are defined by args * stores bool result into ret */ -static int MACRO_CallBoolFunc(FARPROC fn, const char* args, void** ret) +static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret) { void* pa[2]; int idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args); @@ -1781,8 +1781,18 @@ switch (strlen(args)) { - case 0: *ret = (void*)(fn)(); break; - case 1: *ret = (void*)(fn)(pa[0]); break; + case 0: + { + BOOL (WINAPI *func)(void) = fn; + *ret = (void *)(ULONG_PTR)func(); + break; + } + case 1: + { + BOOL (WINAPI *func)(void *) = fn; + *ret = (void *)(ULONG_PTR)func( pa[0]); + break; + } default: WINE_FIXME("NIY\n"); } @@ -1794,7 +1804,7 @@ * * */ -static int MACRO_CallVoidFunc(FARPROC fn, const char* args) +static int MACRO_CallVoidFunc(void *fn, const char* args) { void* pa[6]; int idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args); @@ -1806,13 +1816,48 @@ switch (strlen(args)) { - case 0: (fn)(); break; - case 1: (fn)(pa[0]); break; - case 2: (fn)(pa[0],pa[1]); break; - case 3: (fn)(pa[0],pa[1],pa[2]); break; - case 4: (fn)(pa[0],pa[1],pa[2],pa[3]); break; - case 5: (fn)(pa[0],pa[1],pa[2],pa[3],pa[4]); break; - case 6: (fn)(pa[0],pa[1],pa[2],pa[3],pa[4],pa[5]); break; + case 0: + { + void (WINAPI *func)(void) = fn; + func(); + break; + } + case 1: + { + void (WINAPI *func)(void*) = fn; + func( pa[0] ); + break; + } + case 2: + { + void (WINAPI *func)(void*,void*) = fn; + func( pa[0], pa[1] ); + break; + } + case 3: + { + void (WINAPI *func)(void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2] ); + break; + } + case 4: + { + void (WINAPI *func)(void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3] ); + break; + } + case 5: + { + void (WINAPI *func)(void*,void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3], pa[4] ); + break; + } + case 6: + { + void (WINAPI *func)(void*,void*,void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3], pa[4], pa[5] ); + break; + } default: WINE_FIXME("NIY\n"); } Modified: trunk/reactos/base/applications/winhlp32/macro.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/winhlp32…
============================================================================== --- trunk/reactos/base/applications/winhlp32/macro.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/winhlp32/macro.c [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -39,7 +39,7 @@ const char* alias; BOOL isBool; const char* arguments; - FARPROC fn; + void *fn; }; static struct MacroDesc*MACRO_Loaded /* = NULL */; @@ -696,7 +696,7 @@ static void CALLBACK MACRO_RegisterRoutine(LPCSTR dll_name, LPCSTR proc, LPCSTR args) { - FARPROC fn = NULL; + void *fn = NULL; int size; WINHELP_DLL* dll; @@ -735,7 +735,7 @@ dll->class = dll->handler ? (dll->handler)(DW_WHATMSG, 0, 0) : DC_NOMSG; WINE_TRACE("Got class %x for DLL %s\n", dll->class, dll_name); if (dll->class & DC_INITTERM) dll->handler(DW_INIT, 0, 0); - if (dll->class & DC_CALLBACKS) dll->handler(DW_CALLBACKS, (DWORD)Callbacks, 0); + if (dll->class & DC_CALLBACKS) dll->handler(DW_CALLBACKS, (LONG_PTR)&Callbacks, 0); } else WINE_WARN("OOM\n"); } @@ -857,97 +857,97 @@ */ static struct MacroDesc MACRO_Builtins[] = { - {"About", NULL, 0, "", (FARPROC)MACRO_About}, - {"AddAccelerator", "AA", 0, "UUS", (FARPROC)MACRO_AddAccelerator}, - {"ALink", "AL", 0, "SUS", (FARPROC)MACRO_ALink}, - {"Annotate", NULL, 0, "", (FARPROC)MACRO_Annotate}, - {"AppendItem", NULL, 0, "SSSS", (FARPROC)MACRO_AppendItem}, - {"Back", NULL, 0, "", (FARPROC)MACRO_Back}, - {"BackFlush", "BF", 0, "", (FARPROC)MACRO_BackFlush}, - {"BookmarkDefine", NULL, 0, "", (FARPROC)MACRO_BookmarkDefine}, - {"BookmarkMore", NULL, 0, "", (FARPROC)MACRO_BookmarkMore}, - {"BrowseButtons", NULL, 0, "", (FARPROC)MACRO_BrowseButtons}, - {"ChangeButtonBinding", "CBB",0, "SS", (FARPROC)MACRO_ChangeButtonBinding}, - {"ChangeEnable", "CE", 0, "SS", (FARPROC)MACRO_ChangeEnable}, - {"ChangeItemBinding", "CIB",0, "SS", (FARPROC)MACRO_ChangeItemBinding}, - {"CheckItem", "CI", 0, "S", (FARPROC)MACRO_CheckItem}, - {"CloseSecondarys", "CS", 0, "", (FARPROC)MACRO_CloseSecondarys}, - {"CloseWindow", "CW", 0, "S", (FARPROC)MACRO_CloseWindow}, - {"Compare", NULL, 0, "S", (FARPROC)MACRO_Compare}, - {"Contents", NULL, 0, "", (FARPROC)MACRO_Contents}, - {"ControlPanel", NULL, 0, "SSU", (FARPROC)MACRO_ControlPanel}, - {"CopyDialog", NULL, 0, "", (FARPROC)MACRO_CopyDialog}, - {"CopyTopic", "CT", 0, "", (FARPROC)MACRO_CopyTopic}, - {"CreateButton", "CB", 0, "SSS", (FARPROC)MACRO_CreateButton}, - {"DeleteItem", NULL, 0, "S", (FARPROC)MACRO_DeleteItem}, - {"DeleteMark", NULL, 0, "S", (FARPROC)MACRO_DeleteMark}, - {"DestroyButton", NULL, 0, "S", (FARPROC)MACRO_DestroyButton}, - {"DisableButton", "DB", 0, "S", (FARPROC)MACRO_DisableButton}, - {"DisableItem", "DI", 0, "S", (FARPROC)MACRO_DisableItem}, - {"EnableButton", "EB", 0, "S", (FARPROC)MACRO_EnableButton}, - {"EnableItem", "EI", 0, "S", (FARPROC)MACRO_EnableItem}, - {"EndMPrint", NULL, 0, "", (FARPROC)MACRO_EndMPrint}, - {"ExecFile", "EF", 0, "SSUS", (FARPROC)MACRO_ExecFile}, - {"ExecProgram", "EP", 0, "SU", (FARPROC)MACRO_ExecProgram}, - {"Exit", NULL, 0, "", (FARPROC)MACRO_Exit}, - {"ExtAbleItem", NULL, 0, "SU", (FARPROC)MACRO_ExtAbleItem}, - {"ExtInsertItem", NULL, 0, "SSSSUU", (FARPROC)MACRO_ExtInsertItem}, - {"ExtInsertMenu", NULL, 0, "SSSUU", (FARPROC)MACRO_ExtInsertMenu}, - {"FileExist", "FE", 1, "S", (FARPROC)MACRO_FileExist}, - {"FileOpen", "FO", 0, "", (FARPROC)MACRO_FileOpen}, - {"Find", NULL, 0, "", (FARPROC)MACRO_Find}, - {"Finder", "FD", 0, "", (FARPROC)MACRO_Finder}, - {"FloatingMenu", NULL, 0, "", (FARPROC)MACRO_FloatingMenu}, - {"Flush", "FH", 0, "", (FARPROC)MACRO_Flush}, - {"FocusWindow", NULL, 0, "S", (FARPROC)MACRO_FocusWindow}, - {"Generate", NULL, 0, "SUU", (FARPROC)MACRO_Generate}, - {"GotoMark", NULL, 0, "S", (FARPROC)MACRO_GotoMark}, - {"HelpOn", NULL, 0, "", (FARPROC)MACRO_HelpOn}, - {"HelpOnTop", NULL, 0, "", (FARPROC)MACRO_HelpOnTop}, - {"History", NULL, 0, "", (FARPROC)MACRO_History}, - {"InitMPrint", NULL, 1, "", (FARPROC)MACRO_InitMPrint}, - {"InsertItem", NULL, 0, "SSSSU", (FARPROC)MACRO_InsertItem}, - {"InsertMenu", NULL, 0, "SSU", (FARPROC)MACRO_InsertMenu}, - {"IfThen", "IF", 0, "BS", (FARPROC)MACRO_IfThen}, - {"IfThenElse", "IE", 0, "BSS", (FARPROC)MACRO_IfThenElse}, - {"IsBook", NULL, 1, "", (FARPROC)MACRO_IsBook}, - {"IsMark", NULL, 1, "S", (FARPROC)MACRO_IsMark}, - {"IsNotMark", "NM", 1, "S", (FARPROC)MACRO_IsNotMark}, - {"JumpContents", NULL, 0, "SS", (FARPROC)MACRO_JumpContents}, - {"JumpContext", "JC", 0, "SSU", (FARPROC)MACRO_JumpContext}, - {"JumpHash", "JH", 0, "SSU", (FARPROC)MACRO_JumpHash}, - {"JumpHelpOn", NULL, 0, "", (FARPROC)MACRO_JumpHelpOn}, - {"JumpID", "JI", 0, "SS", (FARPROC)MACRO_JumpID}, - {"JumpKeyword", "JK", 0, "SSS", (FARPROC)MACRO_JumpKeyword}, - {"KLink", "KL", 0, "SUSS", (FARPROC)MACRO_KLink}, - {"Menu", "MU", 0, "", (FARPROC)MACRO_Menu}, - {"MPrintHash", NULL, 0, "U", (FARPROC)MACRO_MPrintHash}, - {"MPrintID", NULL, 0, "S", (FARPROC)MACRO_MPrintID}, - {"Next", NULL, 0, "", (FARPROC)MACRO_Next}, - {"NoShow", "NS", 0, "", (FARPROC)MACRO_NoShow}, - {"PopupContext", "PC", 0, "SU", (FARPROC)MACRO_PopupContext}, - {"PopupHash", NULL, 0, "SU", (FARPROC)MACRO_PopupHash}, - {"PopupId", "PI", 0, "SS", (FARPROC)MACRO_PopupId}, - {"PositionWindow", "PW", 0, "IIUUUS", (FARPROC)MACRO_PositionWindow}, - {"Prev", NULL, 0, "", (FARPROC)MACRO_Prev}, - {"Print", NULL, 0, "", (FARPROC)MACRO_Print}, - {"PrinterSetup", NULL, 0, "", (FARPROC)MACRO_PrinterSetup}, - {"RegisterRoutine", "RR", 0, "SSS", (FARPROC)MACRO_RegisterRoutine}, - {"RemoveAccelerator", "RA", 0, "UU", (FARPROC)MACRO_RemoveAccelerator}, - {"ResetMenu", NULL, 0, "", (FARPROC)MACRO_ResetMenu}, - {"SaveMark", NULL, 0, "S", (FARPROC)MACRO_SaveMark}, - {"Search", NULL, 0, "", (FARPROC)MACRO_Search}, - {"SetContents", NULL, 0, "SU", (FARPROC)MACRO_SetContents}, - {"SetHelpOnFile", NULL, 0, "S", (FARPROC)MACRO_SetHelpOnFile}, - {"SetPopupColor", "SPC",0, "UUU", (FARPROC)MACRO_SetPopupColor}, - {"ShellExecute", "SE", 0, "SSUUSS", (FARPROC)MACRO_ShellExecute}, - {"ShortCut", "SH", 0, "SSUUS", (FARPROC)MACRO_ShortCut}, - {"TCard", NULL, 0, "U", (FARPROC)MACRO_TCard}, - {"Test", NULL, 0, "U", (FARPROC)MACRO_Test}, - {"TestALink", NULL, 1, "S", (FARPROC)MACRO_TestALink}, - {"TestKLink", NULL, 1, "S", (FARPROC)MACRO_TestKLink}, - {"UncheckItem", "UI", 0, "S", (FARPROC)MACRO_UncheckItem}, - {"UpdateWindow", "UW", 0, "SS", (FARPROC)MACRO_UpdateWindow}, + {"About", NULL, 0, "", MACRO_About}, + {"AddAccelerator", "AA", 0, "UUS", MACRO_AddAccelerator}, + {"ALink", "AL", 0, "SUS", MACRO_ALink}, + {"Annotate", NULL, 0, "", MACRO_Annotate}, + {"AppendItem", NULL, 0, "SSSS", MACRO_AppendItem}, + {"Back", NULL, 0, "", MACRO_Back}, + {"BackFlush", "BF", 0, "", MACRO_BackFlush}, + {"BookmarkDefine", NULL, 0, "", MACRO_BookmarkDefine}, + {"BookmarkMore", NULL, 0, "", MACRO_BookmarkMore}, + {"BrowseButtons", NULL, 0, "", MACRO_BrowseButtons}, + {"ChangeButtonBinding", "CBB",0, "SS", MACRO_ChangeButtonBinding}, + {"ChangeEnable", "CE", 0, "SS", MACRO_ChangeEnable}, + {"ChangeItemBinding", "CIB",0, "SS", MACRO_ChangeItemBinding}, + {"CheckItem", "CI", 0, "S", MACRO_CheckItem}, + {"CloseSecondarys", "CS", 0, "", MACRO_CloseSecondarys}, + {"CloseWindow", "CW", 0, "S", MACRO_CloseWindow}, + {"Compare", NULL, 0, "S", MACRO_Compare}, + {"Contents", NULL, 0, "", MACRO_Contents}, + {"ControlPanel", NULL, 0, "SSU", MACRO_ControlPanel}, + {"CopyDialog", NULL, 0, "", MACRO_CopyDialog}, + {"CopyTopic", "CT", 0, "", MACRO_CopyTopic}, + {"CreateButton", "CB", 0, "SSS", MACRO_CreateButton}, + {"DeleteItem", NULL, 0, "S", MACRO_DeleteItem}, + {"DeleteMark", NULL, 0, "S", MACRO_DeleteMark}, + {"DestroyButton", NULL, 0, "S", MACRO_DestroyButton}, + {"DisableButton", "DB", 0, "S", MACRO_DisableButton}, + {"DisableItem", "DI", 0, "S", MACRO_DisableItem}, + {"EnableButton", "EB", 0, "S", MACRO_EnableButton}, + {"EnableItem", "EI", 0, "S", MACRO_EnableItem}, + {"EndMPrint", NULL, 0, "", MACRO_EndMPrint}, + {"ExecFile", "EF", 0, "SSUS", MACRO_ExecFile}, + {"ExecProgram", "EP", 0, "SU", MACRO_ExecProgram}, + {"Exit", NULL, 0, "", MACRO_Exit}, + {"ExtAbleItem", NULL, 0, "SU", MACRO_ExtAbleItem}, + {"ExtInsertItem", NULL, 0, "SSSSUU", MACRO_ExtInsertItem}, + {"ExtInsertMenu", NULL, 0, "SSSUU", MACRO_ExtInsertMenu}, + {"FileExist", "FE", 1, "S", MACRO_FileExist}, + {"FileOpen", "FO", 0, "", MACRO_FileOpen}, + {"Find", NULL, 0, "", MACRO_Find}, + {"Finder", "FD", 0, "", MACRO_Finder}, + {"FloatingMenu", NULL, 0, "", MACRO_FloatingMenu}, + {"Flush", "FH", 0, "", MACRO_Flush}, + {"FocusWindow", NULL, 0, "S", MACRO_FocusWindow}, + {"Generate", NULL, 0, "SUU", MACRO_Generate}, + {"GotoMark", NULL, 0, "S", MACRO_GotoMark}, + {"HelpOn", NULL, 0, "", MACRO_HelpOn}, + {"HelpOnTop", NULL, 0, "", MACRO_HelpOnTop}, + {"History", NULL, 0, "", MACRO_History}, + {"InitMPrint", NULL, 1, "", MACRO_InitMPrint}, + {"InsertItem", NULL, 0, "SSSSU", MACRO_InsertItem}, + {"InsertMenu", NULL, 0, "SSU", MACRO_InsertMenu}, + {"IfThen", "IF", 0, "BS", MACRO_IfThen}, + {"IfThenElse", "IE", 0, "BSS", MACRO_IfThenElse}, + {"IsBook", NULL, 1, "", MACRO_IsBook}, + {"IsMark", NULL, 1, "S", MACRO_IsMark}, + {"IsNotMark", "NM", 1, "S", MACRO_IsNotMark}, + {"JumpContents", NULL, 0, "SS", MACRO_JumpContents}, + {"JumpContext", "JC", 0, "SSU", MACRO_JumpContext}, + {"JumpHash", "JH", 0, "SSU", MACRO_JumpHash}, + {"JumpHelpOn", NULL, 0, "", MACRO_JumpHelpOn}, + {"JumpID", "JI", 0, "SS", MACRO_JumpID}, + {"JumpKeyword", "JK", 0, "SSS", MACRO_JumpKeyword}, + {"KLink", "KL", 0, "SUSS", MACRO_KLink}, + {"Menu", "MU", 0, "", MACRO_Menu}, + {"MPrintHash", NULL, 0, "U", MACRO_MPrintHash}, + {"MPrintID", NULL, 0, "S", MACRO_MPrintID}, + {"Next", NULL, 0, "", MACRO_Next}, + {"NoShow", "NS", 0, "", MACRO_NoShow}, + {"PopupContext", "PC", 0, "SU", MACRO_PopupContext}, + {"PopupHash", NULL, 0, "SU", MACRO_PopupHash}, + {"PopupId", "PI", 0, "SS", MACRO_PopupId}, + {"PositionWindow", "PW", 0, "IIUUUS", MACRO_PositionWindow}, + {"Prev", NULL, 0, "", MACRO_Prev}, + {"Print", NULL, 0, "", MACRO_Print}, + {"PrinterSetup", NULL, 0, "", MACRO_PrinterSetup}, + {"RegisterRoutine", "RR", 0, "SSS", MACRO_RegisterRoutine}, + {"RemoveAccelerator", "RA", 0, "UU", MACRO_RemoveAccelerator}, + {"ResetMenu", NULL, 0, "", MACRO_ResetMenu}, + {"SaveMark", NULL, 0, "S", MACRO_SaveMark}, + {"Search", NULL, 0, "", MACRO_Search}, + {"SetContents", NULL, 0, "SU", MACRO_SetContents}, + {"SetHelpOnFile", NULL, 0, "S", MACRO_SetHelpOnFile}, + {"SetPopupColor", "SPC",0, "UUU", MACRO_SetPopupColor}, + {"ShellExecute", "SE", 0, "SSUUSS", MACRO_ShellExecute}, + {"ShortCut", "SH", 0, "SSUUS", MACRO_ShortCut}, + {"TCard", NULL, 0, "U", MACRO_TCard}, + {"Test", NULL, 0, "U", MACRO_Test}, + {"TestALink", NULL, 1, "S", MACRO_TestALink}, + {"TestKLink", NULL, 1, "S", MACRO_TestKLink}, + {"UncheckItem", "UI", 0, "S", MACRO_UncheckItem}, + {"UpdateWindow", "UW", 0, "SS", MACRO_UpdateWindow}, {NULL, NULL, 0, NULL, NULL} }; Modified: trunk/reactos/base/applications/winhlp32/macro.lex.l URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/winhlp32…
============================================================================== --- trunk/reactos/base/applications/winhlp32/macro.lex.l [iso-8859-1] (original) +++ trunk/reactos/base/applications/winhlp32/macro.lex.l [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -152,7 +152,7 @@ } } -static int MACRO_CallBoolFunc(FARPROC fn, const char* args, void** ret); +static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret); /****************************************************************** * MACRO_CheckArgs @@ -222,7 +222,7 @@ * Invokes boolean function fn, which arguments are defined by args * stores bool result into ret */ -static int MACRO_CallBoolFunc(FARPROC fn, const char* args, void** ret) +static int MACRO_CallBoolFunc(void *fn, const char* args, void** ret) { void* pa[2]; int idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args); @@ -234,8 +234,18 @@ switch (strlen(args)) { - case 0: *ret = (void*)(fn)(); break; - case 1: *ret = (void*)(fn)(pa[0]); break; + case 0: + { + BOOL (WINAPI *func)(void) = fn; + *ret = (void *)(ULONG_PTR)func(); + break; + } + case 1: + { + BOOL (WINAPI *func)(void *) = fn; + *ret = (void *)(ULONG_PTR)func( pa[0]); + break; + } default: WINE_FIXME("NIY\n"); } @@ -247,7 +257,7 @@ * * */ -static int MACRO_CallVoidFunc(FARPROC fn, const char* args) +static int MACRO_CallVoidFunc(void *fn, const char* args) { void* pa[6]; int idx = MACRO_CheckArgs(pa, sizeof(pa)/sizeof(pa[0]), args); @@ -259,13 +269,48 @@ switch (strlen(args)) { - case 0: (fn)(); break; - case 1: (fn)(pa[0]); break; - case 2: (fn)(pa[0],pa[1]); break; - case 3: (fn)(pa[0],pa[1],pa[2]); break; - case 4: (fn)(pa[0],pa[1],pa[2],pa[3]); break; - case 5: (fn)(pa[0],pa[1],pa[2],pa[3],pa[4]); break; - case 6: (fn)(pa[0],pa[1],pa[2],pa[3],pa[4],pa[5]); break; + case 0: + { + void (WINAPI *func)(void) = fn; + func(); + break; + } + case 1: + { + void (WINAPI *func)(void*) = fn; + func( pa[0] ); + break; + } + case 2: + { + void (WINAPI *func)(void*,void*) = fn; + func( pa[0], pa[1] ); + break; + } + case 3: + { + void (WINAPI *func)(void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2] ); + break; + } + case 4: + { + void (WINAPI *func)(void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3] ); + break; + } + case 5: + { + void (WINAPI *func)(void*,void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3], pa[4] ); + break; + } + case 6: + { + void (WINAPI *func)(void*,void*,void*,void*,void*,void*) = fn; + func( pa[0], pa[1], pa[2], pa[3], pa[4], pa[5] ); + break; + } default: WINE_FIXME("NIY\n"); } Modified: trunk/reactos/base/applications/winhlp32/winhelp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/winhlp32…
============================================================================== --- trunk/reactos/base/applications/winhlp32/winhelp.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/winhlp32/winhelp.h [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -115,7 +115,7 @@ #define DW_ACTIVATE 9 #define DW_CALLBACKS 10 -typedef long (CALLBACK *WINHELP_LDLLHandler)(WORD, LONG, LONG); +typedef LONG (CALLBACK *WINHELP_LDLLHandler)(WORD, LONG_PTR, LONG_PTR); typedef struct tagDll { @@ -140,8 +140,28 @@ HFONT hButtonFont; } WINHELP_GLOBALS; +extern const struct winhelp_callbacks +{ + WORD (WINAPI *GetFSError)(void); + HANDLE (WINAPI *HfsOpenSz)(LPSTR,BYTE); + WORD (WINAPI *RcCloseHfs)(HANDLE); + HANDLE (WINAPI *HfOpenHfs)(HANDLE,LPSTR,BYTE); + HANDLE (WINAPI *RcCloseHf)(HANDLE); + LONG (WINAPI *LcbReadHf)(HANDLE,BYTE*,LONG); + LONG (WINAPI *LTellHf)(HANDLE); + LONG (WINAPI *LSeekHf)(HANDLE,LONG,WORD); + BOOL (WINAPI *FEofHf)(HANDLE); + LONG (WINAPI *LcbSizeHf)(HANDLE); + BOOL (WINAPI *FAccessHfs)(HANDLE,LPSTR,BYTE); + WORD (WINAPI *RcLLInfoFromHf)(HANDLE,WORD,LPWORD,LPLONG,LPLONG); + WORD (WINAPI *RcLLInfoFromHfs)(HANDLE,LPSTR,WORD,LPWORD,LPLONG,LPLONG); + void (WINAPI *ErrorW)(int); + void (WINAPI *ErrorSz)(LPSTR); + ULONG_PTR (WINAPI *GetInfo)(WORD,HWND); + LONG (WINAPI *API)(LPSTR,WORD,DWORD); +} Callbacks; + extern WINHELP_GLOBALS Globals; -extern FARPROC Callbacks[]; BOOL WINHELP_CreateHelpWindow(WINHELP_WNDPAGE*, int, BOOL); BOOL WINHELP_OpenHelpWindow(HLPFILE_PAGE* (*)(HLPFILE*, LONG, ULONG*), Modified: trunk/reactos/base/applications/wordpad/Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/wordpad/…
============================================================================== --- trunk/reactos/base/applications/wordpad/Ru.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/wordpad/Ru.rc [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -219,8 +219,8 @@ STRING_PREVIEW_PRINT, "ÐеÑаÑÑ" STRING_PREVIEW_NEXTPAGE, "СледÑÑÑÐ°Ñ ÑÑÑаниÑа" STRING_PREVIEW_PREVPAGE, "ÐÑедÑдÑÑÐ°Ñ ÑÑÑаниÑа" - STRING_PREVIEW_TWOPAGES, "Two pages" - STRING_PREVIEW_ONEPAGE, "One page" + STRING_PREVIEW_TWOPAGES, "Ðве ÑÑÑаниÑÑ" + STRING_PREVIEW_ONEPAGE, "Ðдна ÑÑÑаниÑа" STRING_PREVIEW_CLOSE, "ÐакÑÑÑÑ" END @@ -231,7 +231,7 @@ STRINGTABLE DISCARDABLE BEGIN - STRING_DEFAULT_FILENAME, "Document" + STRING_DEFAULT_FILENAME, "ÐокÑменÑ" STRING_PROMPT_SAVE_CHANGES, "Ð¡Ð¾Ñ ÑаниÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² '%s'?" STRING_SEARCH_FINISHED, "ÐоиÑк в докÑменÑе завеÑÑен." STRING_LOAD_RICHED_FAILED, "ÐÑибка загÑÑзки библиоÑеки RichEdit." @@ -240,6 +240,11 @@ "ÑÑой опеÑаÑии?" STRING_INVALID_NUMBER, "ÐепÑавилÑнÑй ÑиÑловой ÑоÑмаÑ" STRING_OLE_STORAGE_NOT_SUPPORTED, "OLE storage докÑменÑÑ Ð½Ðµ поддеÑживаÑÑÑÑ" + STRING_WRITE_FAILED, "Ðевозможно ÑÐ¾Ñ ÑаниÑÑ Ñайл." + STRING_WRITE_ACCESS_DENIED, "ÐедоÑÑаÑоÑно пÑав Ð´Ð»Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ñайла." + STRING_OPEN_FAILED, "Ðевозможно оÑкÑÑÑÑ Ñайл." + STRING_OPEN_ACCESS_DENIED, "ÐедоÑÑаÑоÑно пÑав Ð´Ð»Ñ Ð¾ÑкÑÑÑÐ¸Ñ Ñайла." STRING_PRINTING_NOT_IMPLEMENTED, "ÐеÑаÑÑ Ð½Ðµ поддеÑживаеÑÑÑ" + STRING_MAX_TAB_STOPS, "ÐелÑÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð±Ð¾Ð»ÐµÐµ 32 позиÑий ÑабÑлÑÑии." END #pragma code_page(default) Modified: trunk/reactos/media/doc/3rd Party Files.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/3rd%20Party%20Fi…
============================================================================== --- trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] (original) +++ trunk/reactos/media/doc/3rd Party Files.txt [iso-8859-1] Sat Oct 24 19:23:52 2009 @@ -43,7 +43,7 @@ Website:
http://expat.sourceforge.net
Title: LibXML -Version: 2.7.1 +Version: 2.7.6 Actual Version: 2.7.6 Website:
http://xmlsoft.org
15 years, 2 months
1
0
0
0
[spetreolle] 43718: - Add reg.exe from Wine 1.1.31
by spetreolle@svn.reactos.org
Author: spetreolle Date: Sat Oct 24 17:23:45 2009 New Revision: 43718 URL:
http://svn.reactos.org/svn/reactos?rev=43718&view=rev
Log: - Add reg.exe from Wine 1.1.31 Modified: trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Oct 24 17:23:45 2009 @@ -188,6 +188,7 @@ reactos/base/applications/games/winemine # Out of sync reactos/base/applications/iexplore # Autosync reactos/base/applications/notepad # Forked at Wine-20041201 +reactos/base/applications/reg # Synced to Wine-1_1_31 reactos/base/applications/regedit # Out of sync reactos/base/applications/winhlp32 # Autosync reactos/base/applications/wordpad # Autosync
15 years, 2 months
1
0
0
0
[spetreolle] 43717: add missing checks fixes winmm:mixer crash
by spetreolle@svn.reactos.org
Author: spetreolle Date: Sat Oct 24 17:13:30 2009 New Revision: 43717 URL:
http://svn.reactos.org/svn/reactos?rev=43717&view=rev
Log: add missing checks fixes winmm:mixer crash Modified: trunk/reactos/dll/win32/winmm/winmm.c Modified: trunk/reactos/dll/win32/winmm/winmm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/winmm/winmm.c?re…
============================================================================== --- trunk/reactos/dll/win32/winmm/winmm.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/winmm/winmm.c [iso-8859-1] Sat Oct 24 17:13:30 2009 @@ -568,6 +568,9 @@ TRACE("(%p, %p, %08lx)\n", hmix, lpmliW, fdwInfo); + if (lpmliW == NULL || lpmliW->cbStruct != sizeof(*lpmliW)) + return MMSYSERR_INVALPARAM; + if ((uRet = MIXER_GetDev(hmix, fdwInfo, &lpwm)) != MMSYSERR_NOERROR) return uRet;
15 years, 2 months
1
0
0
0
[dchapyshev] 43716: - Fix Russian translation
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Sat Oct 24 16:34:11 2009 New Revision: 43716 URL:
http://svn.reactos.org/svn/reactos?rev=43716&view=rev
Log: - Fix Russian translation Modified: trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc Modified: trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/ru…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc [iso-8859-1] Sat Oct 24 16:34:11 2009 @@ -201,9 +201,9 @@ STRINGTABLE BEGIN IDS_GAMES "Èãðû" - IDS_CMT_SOLITAIRE "Ïàñüÿíñ ""Êîñûíêà""" + IDS_CMT_SOLITAIRE "Ïàñüÿíñ Êîñûíêà" IDS_CMT_WINEMINE "Ñàïåð" - IDS_CMT_SPIDER "Ïàñüÿíñ ""Ïàóê""" + IDS_CMT_SPIDER "Ïàñüÿíñ Ïàóê" END STRINGTABLE @@ -254,7 +254,7 @@ IDS_SHORT_NOTEPAD "Áëîêíîò.lnk" IDS_SHORT_WORDPAD "WordPad.lnk" IDS_SHORT_SNAP "SnapShot.lnk" - IDS_SHORT_SOLITAIRE "Ïàñüÿíñ ""Êîñûíêà"".lnk" + IDS_SHORT_SOLITAIRE "Ïàñüÿíñ Êîñûíêà.lnk" IDS_SHORT_WINEMINE "Ñàïåð.lnk" IDS_SHORT_CHARMAP "Òàáëèöà ñèìâîëîâ.lnk" IDS_SHORT_MAGNIFY "Ýêðàííàÿ ëóïà.lnk" @@ -265,7 +265,7 @@ IDS_SHORT_SNDVOL32 "Ãðîìêîñòü.lnk" IDS_SHORT_DXDIAG "Ñðåäñòâî äèàãíîñòèêè ReactX.lnk" IDS_SHORT_PAINT "Paint.lnk" - IDS_SHORT_SPIDER "Ïàñüÿíñ ""Ïàóê"".lnk" + IDS_SHORT_SPIDER "Ïàñüÿíñ Ïàóê.lnk" END STRINGTABLE
15 years, 2 months
1
0
0
0
[khornicek] 43715: - merge some of the more meaningful stuff from the reactx branch
by khornicek@svn.reactos.org
Author: khornicek Date: Sat Oct 24 16:09:48 2009 New Revision: 43715 URL:
http://svn.reactos.org/svn/reactos?rev=43715&view=rev
Log: - merge some of the more meaningful stuff from the reactx branch Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c trunk/reactos/dll/directx/ddraw/Surface/callbacks_surf_hel.c trunk/reactos/dll/directx/ddraw/Surface/createsurface.c trunk/reactos/dll/directx/ddraw/Surface/surface_main.c trunk/reactos/dll/directx/ddraw/rosdraw.h trunk/reactos/dll/directx/ddraw/startup.c Modified: trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Ddraw/dd…
============================================================================== --- trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Ddraw/ddraw_main.c [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -129,6 +129,19 @@ return retVal; } +/*++ +* @name DDraw->AddRef +* @implemented +* +* The function DDraw->AddRef manages all ref counters in the COM object DDraw-> + +* @return +* Returns the local Ref counter value for the COM object +* +* @remarks. +* none +* +*--*/ ULONG WINAPI Main_DirectDraw_AddRef (LPDDRAWI_DIRECTDRAW_INT This) { @@ -136,13 +149,20 @@ DX_WINDBG_trace(); - _SEH2_TRY - { + /* Lock the thread */ + AcquireDDThreadLock(); + + _SEH2_TRY + { + /* Increment the internal ref counter */ This->dwIntRefCnt++; + + /* Increment the local internal ref counter */ This->lpLcl->dwLocalRefCnt++; if (This->lpLcl->lpGbl != NULL) { + /* Increment the gobal internal ref counter */ This->lpLcl->lpGbl->dwRefCnt++; } } @@ -161,6 +181,10 @@ } _SEH2_END; + /* Release the thread lock */ + ReleaseDDThreadLock(); + + /* Return the local Ref counter */ return retValue; } @@ -173,6 +197,10 @@ ULONG Counter = 0; DX_WINDBG_trace(); + + /* Lock the thread */ + AcquireDDThreadLock(); + _SEH2_TRY { if (This!=NULL) @@ -208,30 +236,47 @@ { } _SEH2_END; + + /* Release the thread lock */ + ReleaseDDThreadLock(); + return Counter; } + HRESULT WINAPI Main_DirectDraw_Initialize (LPDDRAWI_DIRECTDRAW_INT This, LPGUID lpGUID) { return DDERR_ALREADYINITIALIZED; } -/* - * Main_DirectDraw_Compact - * ms say this one is not implement but it return DDERR_NOEXCLUSIVEMODE - * when no exclusive owner are set in corpativelevel - */ + +/*++ +* @name DDraw->Compact +* @implemented +* +* In exlusive mode the function DDraw->Compact returns DERR_NOEXCLUSIVEMODE, otherwise it returns DD_OK +* +* @return +* Returns only error code DD_OK or DERR_NOEXCLUSIVEMODE +* +* @remarks. +* Microsoft says Compact is not implemented in ddraw.dll, but it returns DDERR_NOEXCLUSIVEMODE or DD_OK +* +*--*/ HRESULT WINAPI Main_DirectDraw_Compact(LPDDRAWI_DIRECTDRAW_INT This) { HRESULT retVal = DD_OK; DX_WINDBG_trace(); - // EnterCriticalSection(&ddcs); - - _SEH2_TRY - { + + /* Lock the thread */ + AcquireDDThreadLock(); + + _SEH2_TRY + { + /* Check if Exclusive mode has been activated */ if (This->lpLcl->lpGbl->lpExclusiveOwner != This->lpLcl) { retVal = DDERR_NOEXCLUSIVEMODE; @@ -241,7 +286,10 @@ { } _SEH2_END; - // LeaveCriticalSection(&ddcs); + + /* Release the thread lock */ + ReleaseDDThreadLock(); + return retVal; } Modified: trunk/reactos/dll/directx/ddraw/Surface/callbacks_surf_hel.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Surface/…
============================================================================== --- trunk/reactos/dll/directx/ddraw/Surface/callbacks_surf_hel.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Surface/callbacks_surf_hel.c [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -17,7 +17,31 @@ DWORD CALLBACK HelDdSurfBlt(LPDDHAL_BLTDATA lpBltData) { - DX_STUB; + DX_WINDBG_trace(); + + if (lpBltData->dwFlags & DDBLT_COLORFILL) + { + HBRUSH hbr = CreateSolidBrush(lpBltData->bltFX.dwFillColor ); + FillRect( (HDC)lpBltData->lpDDDestSurface->lpSurfMore->lpDD_lcl->hDC, + (CONST RECT *)&lpBltData->rDest, + hbr); + DeleteObject(hbr); + lpBltData->ddRVal = DD_OK; + } + else if (lpBltData->dwFlags & DDBLT_ROP) + { + BitBlt( (HDC)lpBltData->lpDDDestSurface->lpSurfMore->lpDD_lcl->hDC, + lpBltData->rDest.top, + lpBltData->rDest.left, + lpBltData->rDest.right, + lpBltData->rDest.bottom, + (HDC)lpBltData->lpDDSrcSurface->lpSurfMore->lpDD_lcl->hDC, + lpBltData->rSrc.top, + lpBltData->rSrc.right, + lpBltData->bltFX.dwROP); + lpBltData->ddRVal = DD_OK; + } + return DDHAL_DRIVER_HANDLED; } DWORD CALLBACK HelDdSurfDestroySurface(LPDDHAL_DESTROYSURFACEDATA lpDestroySurfaceData) @@ -42,17 +66,105 @@ DWORD CALLBACK HelDdSurfLock(LPDDHAL_LOCKDATA lpLockData) { - DX_STUB; -} - + + HDC hDC; + HBITMAP hImage = NULL; + + LONG cbBuffer = 0; + LPDWORD pixels = NULL; + + HDC hMemDC = NULL; + HBITMAP hDCBmp = NULL; + BITMAP bm = {0}; + + DX_WINDBG_trace(); + + /* ToDo tell ddraw internal this surface is locked */ + /* ToDo add support for dwFlags */ + + + /* Get our hdc for the active window */ + hDC = GetDC(lpLockData->lpDDSurface->lpSurfMore->lpDD_lcl->hFocusWnd); + + if (hDC != NULL) + { + /* Create a memory bitmap to store a copy of current hdc surface */ + + if (!lpLockData->bHasRect) + { + hImage = CreateCompatibleBitmap (hDC, lpLockData->lpDDSurface->lpGbl->wWidth, lpLockData->lpDDSurface->lpGbl->wHeight); + } + else + { + hImage = CreateCompatibleBitmap (hDC, lpLockData->rArea.right, lpLockData->rArea.bottom); + } + + /* Create a memory hdc so we can draw on our current memory bitmap */ + hMemDC = CreateCompatibleDC(hDC); + + if (hMemDC != NULL) + { + /* Select our memory bitmap to our memory hdc */ + hDCBmp = (HBITMAP) SelectObject (hMemDC, hImage); + + /* Get our memory bitmap information */ + GetObject(hImage, sizeof(BITMAP), &bm); + + if (!lpLockData->bHasRect) + { + BitBlt (hMemDC, 0, 0, bm.bmWidth, bm.bmHeight, hDC, 0, 0, SRCCOPY); + } + else + { + BitBlt (hMemDC, lpLockData->rArea.top, lpLockData->rArea.left, lpLockData->rArea.right, lpLockData->rArea.bottom, hDC, 0, 0, SRCCOPY); + } + + SelectObject (hMemDC, hDCBmp); + + /* Allocate memory buffer for the bitmap pixel data */ + cbBuffer = bm.bmWidthBytes * bm.bmHeight ; + pixels = (PDWORD) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cbBuffer ); + + if (pixels != NULL) + { + /* Get the bitmap bits */ + GetBitmapBits(hImage,cbBuffer,pixels); + + /* Fixme HACK - check which member stores the HEL bitmap buffer */ + lpLockData->lpDDSurface->lpSurfMore->lpDDRAWReserved2 = pixels; + + /* Setup return value */ + lpLockData->ddRVal = DD_OK; + lpLockData->lpSurfData = pixels; + } + } + } + + + /* Free the pixels buffer if we fail */ + if ( (pixels != NULL) && + (lpLockData->ddRVal != DD_OK) ) + { + HeapFree(GetProcessHeap(), 0, pixels ); + } + + /* Cleanup after us */ + if (hImage != NULL) + { + DeleteObject (hImage); + } + + if (hMemDC != NULL) + { + DeleteDC (hMemDC); + } + + return DDHAL_DRIVER_HANDLED; +} DWORD CALLBACK HelDdSurfreserved4(DWORD *lpPtr) { - /* - This api is not doucment by MS So I leave it - as stub. - */ - + /* This api is not doucmented by MS, keep it stubbed */ DX_STUB; } @@ -78,7 +190,64 @@ DWORD CALLBACK HelDdSurfUnlock(LPDDHAL_UNLOCKDATA lpUnLockData) { - DX_STUB; + HDC hDC; + HBITMAP hImage = NULL; + + HDC hMemDC = NULL; + HBITMAP hDCBmp = NULL; + BITMAP bm = {0}; + + DX_WINDBG_trace(); + + /* Get our hdc for the active window */ + hDC = GetDC(lpUnLockData->lpDDSurface->lpSurfMore->lpDD_lcl->hFocusWnd); + + if (hDC != NULL) + { + /* Create a memory bitmap to store a copy of current hdc surface */ + + /* fixme the rcarea are not store in the struct yet so the data will look corupted */ + hImage = CreateCompatibleBitmap (hDC, lpUnLockData->lpDDSurface->lpGbl->wWidth, lpUnLockData->lpDDSurface->lpGbl->wHeight); + + /* Create a memory hdc so we can draw on our current memory bitmap */ + hMemDC = CreateCompatibleDC(hDC); + + if (hMemDC != NULL) + { + /* Select our memory bitmap to our memory hdc */ + hDCBmp = (HBITMAP) SelectObject (hMemDC, hImage); + + /* Get our memory bitmap information */ + GetObject(hImage, sizeof(BITMAP), &bm); + + SetBitmapBits(hImage,bm.bmWidthBytes * bm.bmHeight, lpUnLockData->lpDDSurface->lpSurfMore->lpDDRAWReserved2); + + BitBlt (hDC, 0, 0, bm.bmWidth, bm.bmHeight, hMemDC, 0, 0, SRCCOPY); + + SelectObject (hMemDC, hDCBmp); + + /* Setup return value */ + lpUnLockData->ddRVal = DD_OK; + } + } + + /* Cleanup after us */ + if (hImage != NULL) + { + DeleteObject (hImage); + } + + if (hMemDC != NULL) + { + DeleteDC (hMemDC); + } + + if (lpUnLockData->lpDDSurface->lpSurfMore->lpDDRAWReserved2 != NULL) + { + HeapFree(GetProcessHeap(), 0, lpUnLockData->lpDDSurface->lpSurfMore->lpDDRAWReserved2 ); + } + + return DDHAL_DRIVER_HANDLED; } DWORD CALLBACK HelDdSurfUpdateOverlay(LPDDHAL_UPDATEOVERLAYDATA lpUpDateOveryLayData) Modified: trunk/reactos/dll/directx/ddraw/Surface/createsurface.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Surface/…
============================================================================== --- trunk/reactos/dll/directx/ddraw/Surface/createsurface.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Surface/createsurface.c [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -35,7 +35,7 @@ DWORD count; HRESULT ret; - if(pDDraw->lpLcl->dwLocalFlags != DDRAWILCL_SETCOOPCALLED) + if((pDDraw->lpLcl->dwLocalFlags & DDRAWILCL_SETCOOPCALLED) != DDRAWILCL_SETCOOPCALLED) { return DDERR_NOCOOPERATIVELEVELSET; } @@ -45,7 +45,7 @@ return CLASS_E_NOAGGREGATION; } - if(!pDDSD->dwFlags & DDSD_CAPS) + if(!(pDDSD->dwFlags & DDSD_CAPS)) { return DDERR_INVALIDPARAMS; } @@ -60,14 +60,14 @@ return DDERR_INVALIDCAPS; } - if(!(pDDSD->dwFlags & DDSD_HEIGHT) && !(pDDSD->dwFlags & DDSD_HEIGHT) - && !(pDDSD->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)) + if((!(pDDSD->dwFlags & DDSD_HEIGHT) || !(pDDSD->dwFlags & DDSD_WIDTH)) + && !(pDDSD->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)) { return DDERR_INVALIDPARAMS; } - else if(pDDSD->dwFlags & DDSD_HEIGHT && pDDSD->dwFlags & DDSD_HEIGHT - && pDDSD->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) + else if(((pDDSD->dwFlags & DDSD_HEIGHT) || (pDDSD->dwFlags & DDSD_WIDTH)) + && (pDDSD->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)) { return DDERR_INVALIDPARAMS; } Modified: trunk/reactos/dll/directx/ddraw/Surface/surface_main.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/Surface/…
============================================================================== --- trunk/reactos/dll/directx/ddraw/Surface/surface_main.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/Surface/surface_main.c [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -272,129 +272,166 @@ return This->dwIntRefCnt; } + HRESULT WINAPI Main_DDrawSurface_Blt(LPDDRAWI_DDRAWSURFACE_INT ThisDest, LPRECT rdst, - LPDDRAWI_DDRAWSURFACE_INT ThisSrc, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx) -{ - - DDHAL_BLTDATA mDdBlt; - - DX_WINDBG_trace(); - - if (( ThisDest->lpLcl->lpGbl->lpDD->lpDDCBtmp->HALDDSurface.dwFlags - & DDHAL_SURFCB32_BLT) != DDHAL_SURFCB32_BLT) - { - return DDERR_GENERIC; - } - - ZeroMemory(&mDdBlt, sizeof(DDHAL_BLTDATA)); - ZeroMemory(&mDdBlt.bltFX, sizeof(DDBLTFX)); - - if (!DdResetVisrgn( ThisDest->lpLcl->lpSurfMore->slist[0], NULL)) - { - DX_STUB_str("DdResetVisrgn failed"); + LPDDRAWI_DDRAWSURFACE_INT ThisSrc, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx) +{ + DDHAL_BLTDATA mDdBlt; + + DX_WINDBG_trace(); + + if (ThisDest == NULL) + { + return DDERR_INVALIDPARAMS; + } + + /* Zero out members in DDHAL_BLTDATA */ + ZeroMemory(&mDdBlt, sizeof(DDHAL_BLTDATA)); + ZeroMemory(&mDdBlt.bltFX, sizeof(DDBLTFX)); + + /* Check if we got HAL support for this api */ + if (( ThisDest->lpLcl->lpGbl->lpDD->lpDDCBtmp->HALDDSurface.dwFlags & + DDHAL_SURFCB32_BLT) == DDHAL_SURFCB32_BLT) + { + mDdBlt.Blt = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HALDDSurface.Blt; + } + /* Check if we got HEL support for this api */ + else if (( ThisDest->lpLcl->lpGbl->lpDD->lpDDCBtmp->HELDDSurface.dwFlags & + DDHAL_SURFCB32_BLT) == DDHAL_SURFCB32_BLT) + { + mDdBlt.Blt = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HELDDSurface.Blt; + } + + if (mDdBlt.Blt == NULL) + { + /* This API is unsupported */ + return DDERR_UNSUPPORTED; + } + + /* Prepare for draw, if we do not reset the DdResetVisrgn some graphics card will not draw on the screen */ + if (!DdResetVisrgn( ThisDest->lpLcl->lpSurfMore->slist[0], NULL)) + { + DX_STUB_str("DdResetVisrgn failed"); + } + + mDdBlt.lpDD = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl; + mDdBlt.lpDDDestSurface = ThisDest->lpLcl->lpSurfMore->slist[0]; + ThisDest->lpLcl->lpSurfMore->slist[0]->hDC = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->hDC; + + /* Setup Src */ + if (( ThisSrc != NULL ) ) + { + + mDdBlt.lpDDSrcSurface = ThisSrc->lpLcl->lpSurfMore->slist[0]; + ThisSrc->lpLcl->lpSurfMore->slist[0]->hDC = ThisSrc->lpLcl->lpSurfMore->lpDD_lcl->hDC; + + if (rsrc != NULL) + { + memmove(&mDdBlt.rSrc, rsrc, sizeof (RECTL)); + } + else + { + if(!GetWindowRect((HWND)ThisSrc->lpLcl->lpSurfMore->lpDD_lcl->hWnd, + (RECT *)&mDdBlt.rSrc)) + { + DX_STUB_str("GetWindowRect failed"); + } + } + + /* FIXME + * compare so we do not write too far + * ThisDest->lpLcl->lpGbl->wWidth; <- surface max width + * ThisDest->lpLcl->lpGbl->wHeight <- surface max heght + * ThisDest->lpLcl->lpGbl->lPitch <- surface bpp + */ + + } + + /* Setup dest */ + if (rdst != NULL) + { + memmove(&mDdBlt.rDest, rdst, sizeof (RECTL)); + } + else + { + if (!GetWindowRect((HWND)ThisDest->lpLcl->lpSurfMore->lpDD_lcl->hWnd, + (RECT *)&mDdBlt.rDest)) + { + DX_STUB_str("GetWindowRect failed"); + } + } + + /* FIXME + * compare so we do not write too far + * ThisDest->lpLcl->lpGbl->wWidth; <- surface max width + * ThisDest->lpLcl->lpGbl->wHeight <- surface max heght + * ThisDest->lpLcl->lpGbl->lPitch <- surface bpp + */ + + + /* setup bltFX */ + if (lpbltfx != NULL) + { + memmove(&mDdBlt.bltFX, lpbltfx, sizeof (DDBLTFX)); + } + + /* setup value that are not config yet */ + mDdBlt.dwFlags = dwFlags; + mDdBlt.IsClipped = FALSE; + mDdBlt.bltFX.dwSize = sizeof(DDBLTFX); + + + /* FIXME + BltData.dwRectCnt + BltData.dwROPFlags + BltData.IsClipped + BltData.prDestRects + BltData.rOrigDest + BltData.rOrigSrc + BltData.ddRVal + */ + + if (mDdBlt.Blt(&mDdBlt) != DDHAL_DRIVER_HANDLED) + { + DX_STUB_str("mDdBlt DDHAL_DRIVER_HANDLED"); + return DDERR_NOBLTHW; } - mDdBlt.lpDD = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl; - mDdBlt.Blt = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HALDDSurface.Blt; - mDdBlt.lpDDDestSurface = ThisDest->lpLcl->lpSurfMore->slist[0]; - - ThisDest->lpLcl->lpSurfMore->slist[0]->hDC = - ThisDest->lpLcl->lpSurfMore->lpDD_lcl->hDC; - - /* Setup Src */ - if (ThisSrc != NULL) - { - mDdBlt.lpDDSrcSurface = ThisSrc->lpLcl->lpSurfMore->slist[0]; - - ThisSrc->lpLcl->lpSurfMore->slist[0]->hDC = - ThisSrc->lpLcl->lpSurfMore->lpDD_lcl->hDC; - - if (rsrc != NULL) - { - memmove(&mDdBlt.rSrc, rsrc, sizeof (RECTL)); - } - else - { - if(!GetWindowRect((HWND)ThisSrc->lpLcl->lpSurfMore->lpDD_lcl->hWnd, - (RECT *)&mDdBlt.rSrc)) - { - DX_STUB_str("GetWindowRect failed"); - } - } - - /* FIXME - * compare so we do not write to far - * ThisDest->lpLcl->lpGbl->wWidth; <- surface max width - * ThisDest->lpLcl->lpGbl->wHeight <- surface max heght - * ThisDest->lpLcl->lpGbl->lPitch <- surface bpp - */ - - } - - /* Setup dest */ - if (rdst != NULL) - { - memmove(&mDdBlt.rDest, rdst, sizeof (RECTL)); - } - else - { - if(!GetWindowRect((HWND)ThisDest->lpLcl->lpSurfMore->lpDD_lcl->hWnd, - (RECT *)&mDdBlt.rDest)) - { - DX_STUB_str("GetWindowRect failed"); - } - - } - - /* FIXME - * compare so we do not write to far - * ThisDest->lpLcl->lpGbl->wWidth; <- surface max width - * ThisDest->lpLcl->lpGbl->wHeight <- surface max heght - * ThisDest->lpLcl->lpGbl->lPitch <- surface bpp - */ - - - /* setup bltFX */ - if (lpbltfx != NULL) - { - memmove(&mDdBlt.bltFX, lpbltfx, sizeof (DDBLTFX)); - } - - /* setup value that are not config yet */ - mDdBlt.dwFlags = dwFlags; - mDdBlt.IsClipped = FALSE; - mDdBlt.bltFX.dwSize = sizeof(DDBLTFX); - - - /* FIXME - BltData.dwRectCnt - BltData.dwROPFlags - BltData.IsClipped - BltData.prDestRects - BltData.rOrigDest - BltData.rOrigSrc - BltData.ddRVal - */ - - if (mDdBlt.Blt(&mDdBlt) != DDHAL_DRIVER_HANDLED) - { - DX_STUB_str("mDdBlt DDHAL_DRIVER_HANDLED"); - return DDERR_NOBLTHW; - } - - return mDdBlt.ddRVal; -} - - -HRESULT WINAPI -Main_DDrawSurface_Lock (LPDDRAWI_DDRAWSURFACE_INT This, LPRECT prect, + return mDdBlt.ddRVal; +} + + +HRESULT WINAPI +Main_DDrawSurface_Lock (LPDDRAWI_DDRAWSURFACE_INT ThisDest, LPRECT prect, LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE events) { DDHAL_LOCKDATA mdLock; DX_WINDBG_trace(); - DX_WINDBG_trace_res( (DWORD)This->lpLcl->lpGbl->wWidth, (DWORD)This->lpLcl->lpGbl->wHeight, (DWORD)This->lpLcl->lpGbl->lPitch, (DWORD) 0); + DX_WINDBG_trace_res( (DWORD)ThisDest->lpLcl->lpGbl->wWidth, (DWORD)ThisDest->lpLcl->lpGbl->wHeight, (DWORD)ThisDest->lpLcl->lpGbl->lPitch, (DWORD) 0); + + /* Zero out members in DDHAL_LOCKDATA */ + ZeroMemory(&mdLock, sizeof(DDHAL_LOCKDATA)); + + /* Check if we got HAL support for this api */ + if (( ThisDest->lpLcl->lpGbl->lpDD->lpDDCBtmp->HALDDSurface.dwFlags & + DDHAL_SURFCB32_LOCK) == DDHAL_SURFCB32_LOCK) + { + mdLock.Lock = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HALDDSurface.Lock; + } + /* Check if we got HEL support for this api */ + else if (( ThisDest->lpLcl->lpGbl->lpDD->lpDDCBtmp->HELDDSurface.dwFlags & + DDHAL_SURFCB32_LOCK) == DDHAL_SURFCB32_LOCK) + { + mdLock.Lock = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HELDDSurface.Lock; + } + + if (mdLock.Lock == NULL) + { + /* This api are unsupported */ + return DDERR_UNSUPPORTED; + } if (events != NULL) { @@ -415,20 +452,18 @@ //FIXME check if it primary or not and use primary or pixelformat data, at moment it is hardcode to primary - mdLock.ddRVal = DDERR_NOTPALETTIZED; - mdLock.Lock = This->lpLcl->lpSurfMore->lpDD_lcl->lpDDCB->HALDDSurface.Lock; + mdLock.ddRVal = DDERR_CANTLOCKSURFACE; mdLock.dwFlags = flags; - mdLock.lpDDSurface = This->lpLcl->lpSurfMore->slist[0]; - mdLock.lpDD = This->lpLcl->lpSurfMore->lpDD_lcl->lpGbl; + mdLock.lpDDSurface = ThisDest->lpLcl->lpSurfMore->slist[0]; + mdLock.lpDD = ThisDest->lpLcl->lpSurfMore->lpDD_lcl->lpGbl; mdLock.lpSurfData = NULL; - if (!DdResetVisrgn(This->lpLcl->lpSurfMore->slist[0], NULL)) + if (!DdResetVisrgn(ThisDest->lpLcl->lpSurfMore->slist[0], NULL)) { DX_STUB_str("Here DdResetVisrgn lock"); - return DDERR_UNSUPPORTED; - } - + // return DDERR_UNSUPPORTED; + } if (mdLock.Lock(&mdLock)!= DDHAL_DRIVER_HANDLED) { @@ -460,11 +495,11 @@ pDDSD->lpSurface = (LPVOID) mdLock.lpSurfData; - pDDSD->dwHeight = This->lpLcl->lpGbl->wHeight; - pDDSD->dwWidth = This->lpLcl->lpGbl->wWidth; - - pDDSD->ddpfPixelFormat.dwRGBBitCount = This->lpLcl->lpGbl->lpDD->lpModeInfo->dwBPP;// .lpModeInfo->dwBPP; //This->lpLcl->lpGbl->lPitch/ 8; - pDDSD->lPitch = This->lpLcl->lpGbl->lPitch; + pDDSD->dwHeight = ThisDest->lpLcl->lpGbl->wHeight; + pDDSD->dwWidth = ThisDest->lpLcl->lpGbl->wWidth; + + pDDSD->ddpfPixelFormat.dwRGBBitCount = ThisDest->lpLcl->lpGbl->lpDD->lpModeInfo->dwBPP;// .lpModeInfo->dwBPP; //This->lpLcl->lpGbl->lPitch/ 8; + pDDSD->lPitch = ThisDest->lpLcl->lpGbl->lPitch; pDDSD->dwFlags = DDSD_WIDTH | DDSD_HEIGHT | DDSD_PITCH; } @@ -474,30 +509,45 @@ HRESULT WINAPI Main_DDrawSurface_Unlock (LPDDRAWI_DDRAWSURFACE_INT This, LPRECT pRect) { - DDHAL_UNLOCKDATA mdUnLock; - - DX_WINDBG_trace(); - - if (!(This->lpLcl->lpSurfMore->lpDD_lcl->lpDDCB->cbDDSurfaceCallbacks.dwFlags & DDHAL_SURFCB32_UNLOCK)) - { - DX_STUB_str("DDERR_UNSUPPORTED"); - return DDERR_UNSUPPORTED; - } + DDHAL_UNLOCKDATA mdUnLock; + + DX_WINDBG_trace(); + + /* Zero out members in DDHAL_UNLOCKDATA */ + ZeroMemory(&mdUnLock, sizeof(DDHAL_UNLOCKDATA)); + + /* Check if we got HAL support for this api */ + if (( This->lpLcl->lpGbl->lpDD->lpDDCBtmp->HALDDSurface.dwFlags & + DDHAL_SURFCB32_UNLOCK) == DDHAL_SURFCB32_UNLOCK) + { + mdUnLock.Unlock = This->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HALDDSurface.Unlock; + } + /* Check if we got HEL support for this api */ + else if (( This->lpLcl->lpGbl->lpDD->lpDDCBtmp->HELDDSurface.dwFlags & + DDHAL_SURFCB32_UNLOCK) == DDHAL_SURFCB32_UNLOCK) + { + mdUnLock.Unlock = This->lpLcl->lpSurfMore->lpDD_lcl->lpGbl->lpDDCBtmp->HELDDSurface.Unlock; + } + + if (mdUnLock.Unlock == NULL) + { + /* This api are unsupported */ + return DDERR_UNSUPPORTED; + } mdUnLock.ddRVal = DDERR_NOTPALETTIZED; mdUnLock.lpDD = This->lpLcl->lpSurfMore->lpDD_lcl->lpGbl; - mdUnLock.lpDDSurface = This->lpLcl->lpSurfMore->slist[0]; - mdUnLock.Unlock = This->lpLcl->lpSurfMore->lpDD_lcl->lpDDCB->HALDDSurface.Unlock; + mdUnLock.lpDDSurface = This->lpLcl->lpSurfMore->slist[0]; if (!DdResetVisrgn( mdUnLock.lpDDSurface, NULL)) { - DX_STUB_str("DDERR_UNSUPPORTED"); - return DDERR_UNSUPPORTED; + DX_STUB_str("DdResetVisrgn fail"); + //return DDERR_UNSUPPORTED; /* this can fail */ } if (mdUnLock.Unlock(&mdUnLock)!= DDHAL_DRIVER_HANDLED) { - DX_STUB_str("unLock fail"); + DX_STUB_str("unLock fail"); return DDERR_UNSUPPORTED; } Modified: trunk/reactos/dll/directx/ddraw/rosdraw.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/rosdraw.…
============================================================================== --- trunk/reactos/dll/directx/ddraw/rosdraw.h [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/rosdraw.h [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -8,6 +8,7 @@ #include <ddrawi.h> #include <d3dhal.h> #include <ddrawgdi.h> +#include <pseh/pseh.h> #include <pseh/pseh2.h> Modified: trunk/reactos/dll/directx/ddraw/startup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/startup.…
============================================================================== --- trunk/reactos/dll/directx/ddraw/startup.c [iso-8859-1] (original) +++ trunk/reactos/dll/directx/ddraw/startup.c [iso-8859-1] Sat Oct 24 16:09:48 2009 @@ -33,8 +33,8 @@ This = (LPDDRAWI_DIRECTDRAW_INT)*pIface; - /* fixme linking too second link when we shall not doing it */ - if (IsBadReadPtr(This,sizeof(LPDIRECTDRAW))) + if ( (IsBadWritePtr(This,sizeof(LPDDRAWI_DIRECTDRAW_INT)) != 0) || + (IsBadWritePtr(This->lpLcl,sizeof(LPDDRAWI_DIRECTDRAW_LCL)) != 0) ) { /* We do not have a DirectDraw interface, we need alloc it*/ LPDDRAWI_DIRECTDRAW_INT memThis; @@ -190,9 +190,6 @@ ddgbl.lpDriverHandle = &ddgbl; ddgbl.hDDVxd = -1; - - - if (reenable == FALSE) { if ((!IsBadReadPtr(This->lpLink,sizeof(LPDIRECTDRAW))) && (This->lpLink == NULL)) @@ -236,8 +233,6 @@ RtlCopyMemory(&ddgbl.cObsolete,&"DISPLAY",7); RtlCopyMemory(&ddgbl.cDriverName,&"DISPLAY",7); dwFlags |= DDRAWI_DISPLAYDRV | DDRAWI_GDIDRV; - - } else if (lpGuid == (LPGUID) DDCREATE_HARDWAREONLY) { @@ -289,7 +284,6 @@ /* Startup HEL and HAL */ This->lpLcl->lpDDCB = This->lpLcl->lpGbl->lpDDCBtmp; This->lpLcl->dwProcessId = GetCurrentProcessId(); - switch (devicetypes) { case 2: @@ -305,6 +299,7 @@ default: hal_ret = StartDirectDrawHal(iface, reenable); hel_ret = StartDirectDrawHel(iface, reenable); + break; } if (hal_ret!=DD_OK) @@ -362,18 +357,30 @@ { LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT)iface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.CanCreateSurface = HelDdCanCreateSurface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.CreateSurface = HelDdCreateSurface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.CreatePalette = HelDdCreatePalette; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.DestroyDriver = HelDdDestroyDriver; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.FlipToGDISurface = HelDdFlipToGDISurface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.GetScanLine = HelDdGetScanLine; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.SetColorKey = HelDdSetColorKey; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.SetExclusiveMode = HelDdSetExclusiveMode; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.SetMode = HelDdSetMode; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank; - - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.dwFlags = DDHAL_CB32_CANCREATESURFACE | + if (reenable == FALSE) + { + if (ddgbl.lpDDCBtmp == NULL) + { + DxHeapMemAlloc(ddgbl.lpDDCBtmp, sizeof(DDHAL_CALLBACKS)); + if ( ddgbl.lpDDCBtmp == NULL) + { + return DD_FALSE; + } + } + } + + ddgbl.lpDDCBtmp->HELDD.CanCreateSurface = HelDdCanCreateSurface; + ddgbl.lpDDCBtmp->HELDD.CreateSurface = HelDdCreateSurface; + ddgbl.lpDDCBtmp->HELDD.CreatePalette = HelDdCreatePalette; + ddgbl.lpDDCBtmp->HELDD.DestroyDriver = HelDdDestroyDriver; + ddgbl.lpDDCBtmp->HELDD.FlipToGDISurface = HelDdFlipToGDISurface; + ddgbl.lpDDCBtmp->HELDD.GetScanLine = HelDdGetScanLine; + ddgbl.lpDDCBtmp->HELDD.SetColorKey = HelDdSetColorKey; + ddgbl.lpDDCBtmp->HELDD.SetExclusiveMode = HelDdSetExclusiveMode; + ddgbl.lpDDCBtmp->HELDD.SetMode = HelDdSetMode; + ddgbl.lpDDCBtmp->HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank; + + ddgbl.lpDDCBtmp->HELDD.dwFlags = DDHAL_CB32_CANCREATESURFACE | DDHAL_CB32_CREATESURFACE | DDHAL_CB32_CREATEPALETTE | DDHAL_CB32_DESTROYDRIVER | @@ -384,23 +391,23 @@ DDHAL_CB32_SETMODE | DDHAL_CB32_WAITFORVERTICALBLANK ; - This->lpLcl->lpGbl->lpDDCBtmp->HELDD.dwSize = sizeof(This->lpLcl->lpDDCB->HELDD); - - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.AddAttachedSurface = HelDdSurfAddAttachedSurface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.Blt = HelDdSurfBlt; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.DestroySurface = HelDdSurfDestroySurface; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.Flip = HelDdSurfFlip; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.GetBltStatus = HelDdSurfGetBltStatus; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.GetFlipStatus = HelDdSurfGetFlipStatus; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.Lock = HelDdSurfLock; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.reserved4 = HelDdSurfreserved4; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.SetClipList = HelDdSurfSetClipList; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.SetColorKey = HelDdSurfSetColorKey; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.SetOverlayPosition = HelDdSurfSetOverlayPosition; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.SetPalette = HelDdSurfSetPalette; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.Unlock = HelDdSurfUnlock; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.UpdateOverlay = HelDdSurfUpdateOverlay; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.dwFlags = DDHAL_SURFCB32_ADDATTACHEDSURFACE | + ddgbl.lpDDCBtmp->HELDD.dwSize = sizeof(This->lpLcl->lpDDCB->HELDD); + + ddgbl.lpDDCBtmp->HELDDSurface.AddAttachedSurface = HelDdSurfAddAttachedSurface; + ddgbl.lpDDCBtmp->HELDDSurface.Blt = HelDdSurfBlt; + ddgbl.lpDDCBtmp->HELDDSurface.DestroySurface = HelDdSurfDestroySurface; + ddgbl.lpDDCBtmp->HELDDSurface.Flip = HelDdSurfFlip; + ddgbl.lpDDCBtmp->HELDDSurface.GetBltStatus = HelDdSurfGetBltStatus; + ddgbl.lpDDCBtmp->HELDDSurface.GetFlipStatus = HelDdSurfGetFlipStatus; + ddgbl.lpDDCBtmp->HELDDSurface.Lock = HelDdSurfLock; + ddgbl.lpDDCBtmp->HELDDSurface.reserved4 = HelDdSurfreserved4; + ddgbl.lpDDCBtmp->HELDDSurface.SetClipList = HelDdSurfSetClipList; + ddgbl.lpDDCBtmp->HELDDSurface.SetColorKey = HelDdSurfSetColorKey; + ddgbl.lpDDCBtmp->HELDDSurface.SetOverlayPosition = HelDdSurfSetOverlayPosition; + ddgbl.lpDDCBtmp->HELDDSurface.SetPalette = HelDdSurfSetPalette; + ddgbl.lpDDCBtmp->HELDDSurface.Unlock = HelDdSurfUnlock; + ddgbl.lpDDCBtmp->HELDDSurface.UpdateOverlay = HelDdSurfUpdateOverlay; + ddgbl.lpDDCBtmp->HELDDSurface.dwFlags = DDHAL_SURFCB32_ADDATTACHEDSURFACE | DDHAL_SURFCB32_BLT | DDHAL_SURFCB32_DESTROYSURFACE | DDHAL_SURFCB32_FLIP | @@ -415,7 +422,7 @@ DDHAL_SURFCB32_UNLOCK | DDHAL_SURFCB32_UPDATEOVERLAY; - This->lpLcl->lpGbl->lpDDCBtmp->HELDDSurface.dwSize = sizeof(This->lpLcl->lpDDCB->HELDDSurface); + ddgbl.lpDDCBtmp->HELDDSurface.dwSize = sizeof(This->lpLcl->lpDDCB->HELDDSurface); /* This->lpLcl->lpDDCB->HELDDPalette.DestroyPalette = HelDdPalDestroyPalette;
15 years, 2 months
1
0
0
0
[dchapyshev] 43714: - Add reg.exe from Wine 1.1.31
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Sat Oct 24 15:32:45 2009 New Revision: 43714 URL:
http://svn.reactos.org/svn/reactos?rev=43714&view=rev
Log: - Add reg.exe from Wine 1.1.31 Added: trunk/reactos/base/applications/cmdutils/reg/ (with props) trunk/reactos/base/applications/cmdutils/reg/Da.rc (with props) trunk/reactos/base/applications/cmdutils/reg/De.rc (with props) trunk/reactos/base/applications/cmdutils/reg/En.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Fr.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Ja.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Ko.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Lt.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Nl.rc (with props) trunk/reactos/base/applications/cmdutils/reg/No.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Pl.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Pt.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Ru.rc (with props) trunk/reactos/base/applications/cmdutils/reg/Si.rc (with props) trunk/reactos/base/applications/cmdutils/reg/reg.c (with props) trunk/reactos/base/applications/cmdutils/reg/reg.h (with props) trunk/reactos/base/applications/cmdutils/reg/reg.rbuild (with props) trunk/reactos/base/applications/cmdutils/reg/rsrc.rc (with props) Modified: trunk/reactos/base/applications/cmdutils/cmdutils.rbuild trunk/reactos/boot/bootdata/packages/reactos.dff Modified: trunk/reactos/base/applications/cmdutils/cmdutils.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/cmdutils.rbuild [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/cmdutils.rbuild [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -19,6 +19,9 @@ <directory name="more"> <xi:include href="more/more.rbuild" /> </directory> + <directory name="reg"> + <xi:include href="reg/reg.rbuild" /> + </directory> <directory name="xcopy"> <xi:include href="xcopy/xcopy.rbuild" /> </directory> Propchange: trunk/reactos/base/applications/cmdutils/reg/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Sat Oct 24 15:32:45 2009 @@ -1,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+) Propchange: trunk/reactos/base/applications/cmdutils/reg/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details. Propchange: trunk/reactos/base/applications/cmdutils/reg/ ------------------------------------------------------------------------------ bugtraq:url =
http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/base/applications/cmdutils/reg/ ------------------------------------------------------------------------------ tsvn:logminsize = 10 Added: trunk/reactos/base/applications/cmdutils/reg/Da.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Da.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Da.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,32 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Danish language support + * + * Copyright 2008 Jens Albretsen <jens(a)albretsen.dk> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_DANISH, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "Syntaksen for dette kommando er:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" + STRING_ADD_USAGE, "REG ADD nøgle_navn [/v værdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nøgle_navn [/v værdi | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nøgle_navn [/v værdi | /ve] [/s]\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Da.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/De.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/De.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * German language support + * + * Copyright 2008 Andrej Sinicyn + * Copyright 2009 Michael Stefaniuc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +#pragma code_page(65001) + +STRINGTABLE +{ + STRING_USAGE, "Die Syntax von diesem Befehl ist:\n\nREG [ ADD | DELETE | QUERY ]\nREG Befehl /?\n" + STRING_ADD_USAGE, "REG ADD Schlüssel [/v Wert | /ve] [/t Typ] [/s Trenner] [/d Daten] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE Schlüssel [/v Wert | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY Schlüssel [/v Wert | /ve] [/s]\n" + STRING_SUCCESS, "Der Vorgang wurde erfolgreich abgeschlossen\n" + STRING_INVALID_KEY, "Fehler: Ungültiger Schlüssel\n" + STRING_INVALID_CMDLINE, "Fehler: Ungültige Befehlszeilenargumente\n" + STRING_NO_REMOTE, "Fehler: Konnte Schlüssel nicht zum remote Rechner hinzufügen\n" + STRING_CANNOT_FIND, "Fehler: Der angegebene Schlüssel oder Wert konnte nicht gefunden werden\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/De.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/En.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/En.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,37 @@ +/* + * REG.EXE - Wine-compatible reg program. + * English language support + * + * Copyright 2008 Andrew Riedi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "The syntax of this command is:\n\nREG [ ADD | DELETE | QUERY ]\nREG command /?\n" + STRING_ADD_USAGE, "REG ADD key_name [/v value_name | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE key_name [/v value_name | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY key_name [/v value_name | /ve] [/s]\n" + STRING_SUCCESS, "The operation completed successfully\n" + STRING_INVALID_KEY, "Error: Invalid key name\n" + STRING_INVALID_CMDLINE, "Error: Invalid command line parameters\n" + STRING_NO_REMOTE, "Error: Unable to add keys to remote machine\n" + STRING_CANNOT_FIND, "Error: The system was unable to find the specified registry key or value\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/En.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Fr.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Fr.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,41 @@ +/* + * REG.EXE - Wine-compatible reg program. + * French language support + * + * Copyright 2008 Francois Gouget + * Copyright 2009 Jonathan Ernst + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +STRINGTABLE +{ + STRING_USAGE, "La syntaxe de cette commande est :\n\nREG [ ADD | DELETE | QUERY ]\nREG commande /?\n" + STRING_ADD_USAGE, "REG ADD nom_de_clé [/v nom_de_valeur | /ve] [/t type] [/s séparateur] [/d données] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nom_de_clé [/v nom_de_valeur | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nom_de_clé [/v nom_de_valeur | /ve] [/s]\n" + STRING_SUCCESS, "L'opération s'est terminée avec succès\n" + STRING_INVALID_KEY, "Erreur : nom de clé non valable\n" + STRING_INVALID_CMDLINE, "Erreur : paramètre de ligne de commande non valable\n" + STRING_NO_REMOTE, "Erreur : impossible d'ajouter des clés à une machine distante\n" + STRING_CANNOT_FIND, "Erreur : le système n'a pas pu trouver la clé ou la valeur de registre spécifiée\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Fr.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Ja.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Ja.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Japanese language support + * + * Copyright 2008 Andrew Riedi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "ãã®ã³ãã³ãã®æ§æã¯æ¬¡ã®ã¨ããã§ã:\n\nREG [ ADD | DELETE | QUERY ]\nREG ã³ãã³ã /?\n" + STRING_ADD_USAGE, "REG ADD ãã¼å [/v å¤å | /ve] [/t type] [/s ã»ãã¬ã¼ã¿] [/d ãã¼ã¿] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE ãã¼å [/v å¤å | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY ãã¼å [/v å¤å | /ve] [/s]\n" + STRING_SUCCESS, "æä½ã¯æ£å¸¸ã«å®äºãã¾ãã\n" + STRING_INVALID_KEY, "ã¨ã©ã¼: ãã¼åãç¡å¹ã§ã\n" + STRING_INVALID_CMDLINE, "ã¨ã©ã¼: ã³ãã³ã ã©ã¤ã³å¼æ°ãç¡å¹ã§ã\n" + STRING_NO_REMOTE, "ã¨ã©ã¼: ãªã¢ã¼ã ãã·ã³ã«ãã¼ã追å ã§ãã¾ããã§ãã\n" + STRING_CANNOT_FIND, "ã¨ã©ã¼: ã·ã¹ãã ã¯æå®ããããã¼ã¾ãã¯å¤ãè¦ã¤ãããã¾ããã§ãã\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Ja.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Ko.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Ko.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Ko.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,38 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Korean language support + * + * Copyright 2008 Andrew Riedi + * Copyright 2008 YunSong Hwang + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "¸í·É¾î Çü½Ä:\n\nREG [ ADD | DELETE | QUERY ]\nREG ¸í·É¾î /?\n" + STRING_ADD_USAGE, "REG ADD °ª [/v °ª | /ve] [/t Çü½Ä] [/s ºÐ¸®±âÈ£] [/d µ¥ÀÌŸ] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE Å° À̸§ [/v °ª | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY Å° À̸§ [/v °ª| /ve] [/s]\n" + STRING_SUCCESS, "ÀÛ¾÷ÀÌ ¼º°øÀûÀ¸·Î ³¡³µ½À´Ï´Ù\n" + STRING_INVALID_KEY, "¿¡·¯: ¿Ã¹Ù¸£Áö ¾ÊÀº Å° À̸§\n" + STRING_INVALID_CMDLINE, "¿¡·¯:¿Ã¹Ù¸£Áö ¾ÊÀº ¸í·É¶óÀÎ ¸Å°³º¯¼ö\n" + STRING_NO_REMOTE, "¿¡·¯: ¿ø°Ý ¸Ó½Å¿¡ Å°¸¦ ´õÇÏ´Â °ÍÀº °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù\n" + STRING_CANNOT_FIND, "¿¡·¯: ÀÌ ½Ã½ºÅÛ¿¡¼ ÁöÁ¤µÈ ·¹Áö½ºÆ®¸® Å°³ª °ªÀ» ãÀ»¼ö ¾ø½À´Ï´Ù\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Ko.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Lt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Lt.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Lt.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Lithuanian language support + * + * Copyright 2009 Aurimas FiÅ¡eras <aurimas(a)gmail.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_LITHUANIAN, SUBLANG_NEUTRAL + +STRINGTABLE +{ + STRING_USAGE, "Å ios komandos sintaksÄ yra:\n\nREG [ ADD | DELETE | QUERY ]\nREG komanda /?\n" + STRING_ADD_USAGE, "REG ADD rakto_vardas [/v reikÅ¡mÄs_vardas | /ve] [/t tipas] [/s skirtukas] [/d duomenys] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE rakto_vardas [/v reikÅ¡mÄs_vardas | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY rakto_vardas [/v reikÅ¡mÄs_vardas | /ve] [/s]\n" + STRING_SUCCESS, "Operacija sÄkmingai įvykdyta\n" + STRING_INVALID_KEY, "Klaida: Netinkamas rakto vardas\n" + STRING_INVALID_CMDLINE, "Klaida: Netinkami komandos eilutÄs parametrai\n" + STRING_NO_REMOTE, "Klaida: Negalima pridÄti raktų nuotoliniame kompiuteryje\n" + STRING_CANNOT_FIND, "Klaida: Sistemai nepavyko rasti nurodyto registro rakto ar reikÅ¡mÄs\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Lt.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Nl.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Nl.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,37 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Dutch language support + * + * Copyright 2008 Frans Kool + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_DUTCH, SUBLANG_NEUTRAL + +STRINGTABLE +{ + STRING_USAGE, "Gebruik van dit commando is:\n\nREG [ ADD | DELETE | QUERY ]\nREG commando /?\n" + STRING_ADD_USAGE, "REG ADD sleutel_naam [/v waarde_naam | /ve] [/t type] [/s scheidingsteken] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE sleutel_naam [/v waarde_naam | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY sleutel_naam [/v waarde_naam | /ve] [/s]\n" + STRING_SUCCESS, "De bewerking is succesvol voltooid\n" + STRING_INVALID_KEY, "Fout: Foutieve sleutel naam\n" + STRING_INVALID_CMDLINE, "Fout: Foutieve commando regel parameters\n" + STRING_NO_REMOTE, "Fout: Sleutels konden niet toegevoegd worden aan de remote machine\n" + STRING_CANNOT_FIND, "Fout: Het systeem kon de gespecificeerde registry sleutel of waarde niet vinden\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Nl.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/No.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/No.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/No.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,39 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Norwegian (Bokmål) language support + * + * Copyright 2008-2009 Alexander N. Sørnes <alex(a)thehandofagony.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +#pragma code_page(65001) + +LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL + +STRINGTABLE +{ + STRING_USAGE, "Programmer kjøres som følger:\n\nREG [ ADD | DELETE | QUERY ]\nREG kommando /?\n" + STRING_ADD_USAGE, "REG ADD nøkkelnavn [/v verdi | /ve] [/t type] [/s separator] [/d data] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nøkkelnavn [/v verdi | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nøkkelnavn [/v verdi | /ve] [/s]\n" + STRING_SUCCESS, "Operasjonen ble utført\n" + STRING_INVALID_KEY, "Feil: Ugyldig nøkkelnavn\n" + STRING_INVALID_CMDLINE, "Feil: Ugyldige parametere på kommandolinjen\n" + STRING_NO_REMOTE, "Feil: Kan ikke legge til nøkler på ekstern maskin\n" + STRING_CANNOT_FIND, "Feil: Systemet klarte ikke finne den angitte registernøkkelen eller -verdien\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/No.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Pl.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Pl.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,33 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Polish language support + * + * Copyright 2008 Andrew Riedi + * Copyright 2008 Mikolaj Zalewski + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +LANGUAGE LANG_POLISH, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "Sk³adnia tego polecenia:\n\nREG [ ADD | DELETE | QUERY ]\nREG polecenie /?\n" + STRING_ADD_USAGE, "REG ADD nazwa_klucza [/v nazwa_wartoci | /ve] [/t typ] [/s separator] [/d dane] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nazwa_klucza [/v nazwa_wartoci | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nazwa_klucza [/v nazwa_wartoci | /ve] [/s]\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Pl.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Pt.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Pt.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Pt.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,40 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Portuguese language support + * + * Copyright 2008 Andrew Riedi + * Copyright 2008 Ricardo Filipe + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +#pragma code_page(65001) + +LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE + +STRINGTABLE +{ + STRING_USAGE, "A sintaxe deste comando é:\n\nREG [ ADD | DELETE | QUERY ]\nREG comando /?\n" + STRING_ADD_USAGE, "REG ADD nome_chave [/v nome_valor | /ve] [/t tipo] [/s separador] [/d dados] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE nome_chave [/v nome_valor | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY nome_chave [/v nome_valor | /ve] [/s]\n" + STRING_SUCCESS, "A operação foi completada com sucesso\n" + STRING_INVALID_KEY, "Erro: Nome de chave inválido\n" + STRING_INVALID_CMDLINE, "Erro: Parâmetros da linha de comandos inválidos\n" + STRING_NO_REMOTE, "Erro: Incapaz de adicionar chaves à máquina remota\n" + STRING_CANNOT_FIND, "Erro: O sistema foi incapaz de encontrar a chave de registo ou valor especificado\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Pt.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Ru.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Ru.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Ru.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,34 @@ +/* + * Russian language support + * + * Copyright 2008 Vitaliy Margolen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +/* UTF-8 */ +#pragma code_page(65001) + +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "ÐÑполÑзование пÑогÑаммÑ:\n\nREG [ ADD | DELETE | QUERY ]\nREG <команда> /?\n" + STRING_ADD_USAGE, "REG ADD <клÑÑ> [/v <паÑамеÑÑ> | /ve] [/t <Ñип>] [/s <ÑазделиÑелÑ>] [/d даннÑе] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE <клÑÑ> [/v <паÑамеÑÑ> | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY <клÑÑ> [/v <паÑамеÑÑ> | /ve] [/s]\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Ru.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/Si.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/Si.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/Si.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,39 @@ +/* + * REG.EXE - Wine-compatible reg program. + * Slovenian language support + * + * Copyright 2008 Rok Mandeljc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include "reg.h" + +#pragma code_page(65001) + +LANGUAGE LANG_SLOVENIAN, SUBLANG_DEFAULT + +STRINGTABLE +{ + STRING_USAGE, "Sintaksa ukaza:\n\nREG [ ADD | DELETE | QUERY ]\nREG ukaz /?\n" + STRING_ADD_USAGE, "REG ADD ime_kljuÄa [/v ime_vrednosti | /ve] [/t vrsta] [/s loÄilo] [/d podatki] [/f]\n" + STRING_DELETE_USAGE, "REG DELETE ime_kljuÄa [/v ime_vrednosti | /ve | /va] [/f]\n" + STRING_QUERY_USAGE, "REG QUERY ime_kljuÄa [/v ime_vrednosti | /ve] [/s]\n" + STRING_SUCCESS, "Operacija se je uspeÅ¡no izvedla\n" + STRING_INVALID_KEY, "Napaka: NapaÄno ime kljuÄa\n" + STRING_INVALID_CMDLINE, "Napaka: NapaÄen parameter v ukazni vrstici\n" + STRING_NO_REMOTE, "Napaka: Na morem dodati kljuÄa na oddaljen raÄunalnik\n" + STRING_CANNOT_FIND, "Napaka: Sistem ni naÅ¡el zahtevanega kljuÄa ali vrednosti\n" +} Propchange: trunk/reactos/base/applications/cmdutils/reg/Si.rc ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/reg.c (added) +++ trunk/reactos/base/applications/cmdutils/reg/reg.c [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,471 @@ +/* + * Copyright 2008 Andrew Riedi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <windows.h> +#include <wine/unicode.h> +#include "reg.h" + +static int reg_printfW(const WCHAR *msg, ...) +{ + va_list va_args; + int wlen; + DWORD count, ret; + WCHAR msg_buffer[8192]; + + va_start(va_args, msg); + vsprintfW(msg_buffer, msg, va_args); + va_end(va_args); + + wlen = lstrlenW(msg_buffer); + ret = WriteConsoleW(GetStdHandle(STD_OUTPUT_HANDLE), msg_buffer, wlen, &count, NULL); + if (!ret) + { + DWORD len; + char *msgA; + + len = WideCharToMultiByte(GetConsoleOutputCP(), 0, msg_buffer, wlen, + NULL, 0, NULL, NULL); + msgA = HeapAlloc(GetProcessHeap(), 0, len * sizeof(char)); + if (!msgA) + return 0; + + WideCharToMultiByte(GetConsoleOutputCP(), 0, msg_buffer, wlen, msgA, len, + NULL, NULL); + WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), msgA, len, &count, FALSE); + HeapFree(GetProcessHeap(), 0, msgA); + } + + return count; +} + +static int reg_message(int msg) +{ + static const WCHAR formatW[] = {'%','s',0}; + WCHAR msg_buffer[8192]; + + LoadStringW(GetModuleHandleW(NULL), msg, msg_buffer, + sizeof(msg_buffer)/sizeof(WCHAR)); + return reg_printfW(formatW, msg_buffer); +} + +static HKEY get_rootkey(LPWSTR key) +{ + static const WCHAR szHKLM[] = {'H','K','L','M',0}; + static const WCHAR szHKCU[] = {'H','K','C','U',0}; + static const WCHAR szHKCR[] = {'H','K','C','R',0}; + static const WCHAR szHKU[] = {'H','K','U',0}; + static const WCHAR szHKCC[] = {'H','K','C','C',0}; + + if (CompareStringW(CP_ACP,NORM_IGNORECASE,key,4,szHKLM,4)==2) + return HKEY_LOCAL_MACHINE; + else if (CompareStringW(CP_ACP,NORM_IGNORECASE,key,4,szHKCU,4)==2) + return HKEY_CURRENT_USER; + else if (CompareStringW(CP_ACP,NORM_IGNORECASE,key,4,szHKCR,4)==2) + return HKEY_CLASSES_ROOT; + else if (CompareStringW(CP_ACP,NORM_IGNORECASE,key,3,szHKU,3)==2) + return HKEY_USERS; + else if (CompareStringW(CP_ACP,NORM_IGNORECASE,key,4,szHKCC,4)==2) + return HKEY_CURRENT_CONFIG; + else return NULL; +} + +static DWORD get_regtype(LPWSTR type) +{ + static const WCHAR szREG_SZ[] = {'R','E','G','_','S','Z',0}; + static const WCHAR szREG_MULTI_SZ[] = {'R','E','G','_','M','U','L','T','I','_','S','Z',0}; + static const WCHAR szREG_DWORD_BIG_ENDIAN[] = {'R','E','G','_','D','W','O','R','D','_','B','I','G','_','E','N','D','I','A','N',0}; + static const WCHAR szREG_DWORD[] = {'R','E','G','_','D','W','O','R','D',0}; + static const WCHAR szREG_BINARY[] = {'R','E','G','_','B','I','N','A','R','Y',0}; + static const WCHAR szREG_DWORD_LITTLE_ENDIAN[] = {'R','E','G','_','D','W','O','R','D','_','L','I','T','T','L','E','_','E','N','D','I','A','N',0}; + static const WCHAR szREG_NONE[] = {'R','E','G','_','N','O','N','E',0}; + static const WCHAR szREG_EXPAND_SZ[] = {'R','E','G','_','E','X','P','A','N','D','_','S','Z',0}; + + if (!type) + return REG_SZ; + + if (lstrcmpiW(type,szREG_SZ)==0) return REG_SZ; + if (lstrcmpiW(type,szREG_DWORD)==0) return REG_DWORD; + if (lstrcmpiW(type,szREG_MULTI_SZ)==0) return REG_MULTI_SZ; + if (lstrcmpiW(type,szREG_EXPAND_SZ)==0) return REG_EXPAND_SZ; + if (lstrcmpiW(type,szREG_DWORD_BIG_ENDIAN)==0) return REG_DWORD_BIG_ENDIAN; + if (lstrcmpiW(type,szREG_DWORD_LITTLE_ENDIAN)==0) return REG_DWORD_LITTLE_ENDIAN; + if (lstrcmpiW(type,szREG_BINARY)==0) return REG_BINARY; + if (lstrcmpiW(type,szREG_NONE)==0) return REG_NONE; + + return -1; +} + +static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *reg_count) +{ + LPBYTE out_data = NULL; + *reg_count = 0; + + switch (reg_type) + { + case REG_SZ: + { + *reg_count = (lstrlenW(data) + 1) * sizeof(WCHAR); + out_data = HeapAlloc(GetProcessHeap(),0,*reg_count); + lstrcpyW((LPWSTR)out_data,data); + break; + } + default: + { + static const WCHAR unhandled[] = {'U','n','h','a','n','d','l','e','d',' ','T','y','p','e',' ','0','x','%','x',' ',' ','d','a','t','a',' ','%','s','\n',0}; + reg_printfW(unhandled, reg_type,data); + } + } + + return out_data; +} + +static int reg_add(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, + WCHAR *type, WCHAR separator, WCHAR *data, BOOL force) +{ + static const WCHAR stubW[] = {'A','D','D',' ','-',' ','%','s', + ' ','%','s',' ','%','d',' ','%','s',' ','%','s',' ','%','d','\n',0}; + LPWSTR p; + HKEY root,subkey; + + reg_printfW(stubW, key_name, value_name, value_empty, type, data, force); + + if (key_name[0]=='\\' && key_name[1]=='\\') + { + reg_message(STRING_NO_REMOTE); + return 1; + } + + p = strchrW(key_name,'\\'); + if (!p) + { + reg_message(STRING_INVALID_KEY); + return 1; + } + p++; + + root = get_rootkey(key_name); + if (!root) + { + reg_message(STRING_INVALID_KEY); + return 1; + } + + if(RegCreateKeyW(root,p,&subkey)!=ERROR_SUCCESS) + { + reg_message(STRING_INVALID_KEY); + return 1; + } + + if (value_name || data) + { + DWORD reg_type; + DWORD reg_count = 0; + BYTE* reg_data = NULL; + + if (!force) + { + if (RegQueryValueW(subkey,value_name,NULL,NULL)==ERROR_SUCCESS) + { + /* FIXME: Prompt for overwrite */ + } + } + + reg_type = get_regtype(type); + if (reg_type == -1) + { + RegCloseKey(subkey); + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + + if (data) + reg_data = get_regdata(data,reg_type,separator,®_count); + + RegSetValueExW(subkey,value_name,0,reg_type,reg_data,reg_count); + HeapFree(GetProcessHeap(),0,reg_data); + } + + RegCloseKey(subkey); + reg_message(STRING_SUCCESS); + + return 0; +} + +static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, + BOOL value_all, BOOL force) +{ + LPWSTR p; + HKEY root,subkey; + + static const WCHAR stubW[] = {'D','E','L','E','T','E', + ' ','-',' ','%','s',' ','%','s',' ','%','d',' ','%','d',' ','%','d','\n' + ,0}; + reg_printfW(stubW, key_name, value_name, value_empty, value_all, force); + + if (key_name[0]=='\\' && key_name[1]=='\\') + { + reg_message(STRING_NO_REMOTE); + return 1; + } + + p = strchrW(key_name,'\\'); + if (!p) + { + reg_message(STRING_INVALID_KEY); + return 1; + } + p++; + + root = get_rootkey(key_name); + if (!root) + { + reg_message(STRING_INVALID_KEY); + return 1; + } + + if (value_name && value_empty) + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + + if (value_empty && value_all) + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + + if (!force) + { + /* FIXME: Prompt for delete */ + } + + if (!value_name) + { + if (RegDeleteTreeW(root,p)!=ERROR_SUCCESS) + { + reg_message(STRING_CANNOT_FIND); + return 1; + } + reg_message(STRING_SUCCESS); + return 0; + } + + if(RegOpenKeyW(root,p,&subkey)!=ERROR_SUCCESS) + { + reg_message(STRING_CANNOT_FIND); + return 1; + } + + if (value_all) + { + LPWSTR szValue; + DWORD maxValue; + DWORD count; + LONG rc; + + if (value_name) + { + RegCloseKey(subkey); + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + + rc = RegQueryInfoKeyW(subkey, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + &maxValue, NULL, NULL, NULL); + if (rc != ERROR_SUCCESS) + { + /* FIXME: failure */ + RegCloseKey(subkey); + return 1; + } + maxValue++; + szValue = HeapAlloc(GetProcessHeap(),0,maxValue*sizeof(WCHAR)); + + while (1) + { + count = maxValue; + rc = RegEnumValueW(subkey, 0, value_name, &count, NULL, NULL, NULL, NULL); + if (rc == ERROR_SUCCESS) + { + rc = RegDeleteValueW(subkey,value_name); + if (rc != ERROR_SUCCESS) + break; + } + else break; + } + if (rc != ERROR_SUCCESS) + { + /* FIXME delete failed */ + } + } + else if (value_name) + { + if (RegDeleteValueW(subkey,value_name) != ERROR_SUCCESS) + { + RegCloseKey(subkey); + reg_message(STRING_CANNOT_FIND); + return 1; + } + } + else if (value_empty) + { + RegSetValueExW(subkey,NULL,0,REG_SZ,NULL,0); + } + + RegCloseKey(subkey); + reg_message(STRING_SUCCESS); + return 0; +} + +static int reg_query(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, + BOOL subkey) +{ + static const WCHAR stubW[] = {'S','T','U','B',' ','Q','U','E','R','Y',' ', + '-',' ','%','s',' ','%','s',' ','%','d',' ','%','d','\n',0}; + reg_printfW(stubW, key_name, value_name, value_empty, subkey); + + return 1; +} + +int wmain(int argc, WCHAR *argvW[]) +{ + int i; + + static const WCHAR addW[] = {'a','d','d',0}; + static const WCHAR deleteW[] = {'d','e','l','e','t','e',0}; + static const WCHAR queryW[] = {'q','u','e','r','y',0}; + static const WCHAR slashDW[] = {'/','d',0}; + static const WCHAR slashFW[] = {'/','f',0}; + static const WCHAR slashHW[] = {'/','h',0}; + static const WCHAR slashSW[] = {'/','s',0}; + static const WCHAR slashTW[] = {'/','t',0}; + static const WCHAR slashVW[] = {'/','v',0}; + static const WCHAR slashVAW[] = {'/','v','a',0}; + static const WCHAR slashVEW[] = {'/','v','e',0}; + static const WCHAR slashHelpW[] = {'/','?',0}; + + if (argc < 2 || !lstrcmpW(argvW[1], slashHelpW) + || !lstrcmpiW(argvW[1], slashHW)) + { + reg_message(STRING_USAGE); + return 0; + } + + if (!lstrcmpiW(argvW[1], addW)) + { + WCHAR *key_name, *value_name = NULL, *type = NULL, separator = '\0', *data = NULL; + BOOL value_empty = FALSE, force = FALSE; + + if (argc < 3) + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || + !lstrcmpiW(argvW[2], slashHW))) + { + reg_message(STRING_ADD_USAGE); + return 0; + } + + key_name = argvW[2]; + for (i = 1; i < argc; i++) + { + if (!lstrcmpiW(argvW[i], slashVW)) + value_name = argvW[++i]; + else if (!lstrcmpiW(argvW[i], slashVEW)) + value_empty = TRUE; + else if (!lstrcmpiW(argvW[i], slashTW)) + type = argvW[++i]; + else if (!lstrcmpiW(argvW[i], slashSW)) + separator = argvW[++i][0]; + else if (!lstrcmpiW(argvW[i], slashDW)) + data = argvW[++i]; + else if (!lstrcmpiW(argvW[i], slashFW)) + force = TRUE; + } + return reg_add(key_name, value_name, value_empty, type, separator, + data, force); + } + else if (!lstrcmpiW(argvW[1], deleteW)) + { + WCHAR *key_name, *value_name = NULL; + BOOL value_empty = FALSE, value_all = FALSE, force = FALSE; + + if (argc < 3) + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || + !lstrcmpiW(argvW[2], slashHW))) + { + reg_message(STRING_DELETE_USAGE); + return 0; + } + + key_name = argvW[2]; + for (i = 1; i < argc; i++) + { + if (!lstrcmpiW(argvW[i], slashVW)) + value_name = argvW[++i]; + else if (!lstrcmpiW(argvW[i], slashVEW)) + value_empty = TRUE; + else if (!lstrcmpiW(argvW[i], slashVAW)) + value_all = TRUE; + else if (!lstrcmpiW(argvW[i], slashFW)) + force = TRUE; + } + return reg_delete(key_name, value_name, value_empty, value_all, force); + } + else if (!lstrcmpiW(argvW[1], queryW)) + { + WCHAR *key_name, *value_name = NULL; + BOOL value_empty = FALSE, subkey = FALSE; + + if (argc < 3) + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } + else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || + !lstrcmpiW(argvW[2], slashHW))) + { + reg_message(STRING_QUERY_USAGE); + return 0; + } + + key_name = argvW[2]; + for (i = 1; i < argc; i++) + { + if (!lstrcmpiW(argvW[i], slashVW)) + value_name = argvW[++i]; + else if (!lstrcmpiW(argvW[i], slashVEW)) + value_empty = TRUE; + else if (!lstrcmpiW(argvW[i], slashSW)) + subkey = TRUE; + } + return reg_query(key_name, value_name, value_empty, subkey); + } + else + { + reg_message(STRING_INVALID_CMDLINE); + return 1; + } +} Propchange: trunk/reactos/base/applications/cmdutils/reg/reg.c ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/reg.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/reg.h (added) +++ trunk/reactos/base/applications/cmdutils/reg/reg.h [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,32 @@ +/* + * REG.EXE - Wine-compatible reg program. + * + * Copyright 2008 Andrew Riedi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#include <windef.h> + +/* Translation IDs. */ +#define STRING_USAGE 101 +#define STRING_ADD_USAGE 102 +#define STRING_DELETE_USAGE 103 +#define STRING_QUERY_USAGE 104 +#define STRING_SUCCESS 105 +#define STRING_INVALID_KEY 106 +#define STRING_INVALID_CMDLINE 107 +#define STRING_NO_REMOTE 108 +#define STRING_CANNOT_FIND 109 Propchange: trunk/reactos/base/applications/cmdutils/reg/reg.h ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/reg.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/reg.rbuild (added) +++ trunk/reactos/base/applications/cmdutils/reg/reg.rbuild [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,10 @@ +<module name="reg" type="win32cui" installbase="system32" installname="reg.exe" unicode="true"> + <include base="reg">.</include> + <redefine name="_WIN32_WINNT">0x600</redefine> + <library>wine</library> + <library>advapi32</library> + <library>user32</library> + <library>kernel32</library> + <file>reg.c</file> + <file>rsrc.rc</file> +</module> Propchange: trunk/reactos/base/applications/cmdutils/reg/reg.rbuild ------------------------------------------------------------------------------ svn:eol-style = native Added: trunk/reactos/base/applications/cmdutils/reg/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/rsrc.rc (added) +++ trunk/reactos/base/applications/cmdutils/reg/rsrc.rc [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -1,0 +1,13 @@ +#include "Da.rc" +#include "De.rc" +#include "En.rc" +#include "Fr.rc" +#include "Ja.rc" +//#include "Ko.rc" +#include "Lt.rc" +#include "Nl.rc" +#include "No.rc" +//#include "Pl.rc" +#include "Pt.rc" +#include "Ru.rc" +#include "Si.rc" Propchange: trunk/reactos/base/applications/cmdutils/reg/rsrc.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/boot/bootdata/packages/reactos.dff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/rea…
============================================================================== --- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Sat Oct 24 15:32:45 2009 @@ -40,6 +40,7 @@ base\applications\cmdutils\hostname\hostname.exe 1 base\applications\cmdutils\lodctr\lodctr.exe 1 base\applications\cmdutils\more\more.exe 1 +base\applications\cmdutils\reg\reg.exe 1 base\applications\cmdutils\xcopy\xcopy.exe 1 base\applications\control\control.exe 1 base\applications\dxdiag\dxdiag.exe 1
15 years, 2 months
1
0
0
0
[fireball] 43713: - Update arwinss to Wine-1.1.32. - 16 bit code is well isolated by Wine team now, so amount of differences is substantially smaller. Also more compatibility due to rewritten user32/resource.c.
by fireball@svn.reactos.org
Author: fireball Date: Sat Oct 24 15:20:16 2009 New Revision: 43713 URL:
http://svn.reactos.org/svn/reactos?rev=43713&view=rev
Log: - Update arwinss to Wine-1.1.32. - 16 bit code is well isolated by Wine team now, so amount of differences is substantially smaller. Also more compatibility due to rewritten user32/resource.c. Modified: branches/arwinss/reactos/dll/win32/gdi32/ (props changed) branches/arwinss/reactos/dll/win32/gdi32/dib.c branches/arwinss/reactos/dll/win32/gdi32/font.c branches/arwinss/reactos/dll/win32/user32/ (props changed) branches/arwinss/reactos/dll/win32/user32/button.c branches/arwinss/reactos/dll/win32/user32/cursoricon.c branches/arwinss/reactos/dll/win32/user32/driver.c branches/arwinss/reactos/dll/win32/user32/edit.c branches/arwinss/reactos/dll/win32/user32/input.c branches/arwinss/reactos/dll/win32/user32/menu.c branches/arwinss/reactos/dll/win32/user32/message.c branches/arwinss/reactos/dll/win32/user32/nonclient.c branches/arwinss/reactos/dll/win32/user32/resource.c branches/arwinss/reactos/dll/win32/user32/resources/version.rc branches/arwinss/reactos/dll/win32/user32/static.c branches/arwinss/reactos/dll/win32/user32/uitools.c branches/arwinss/reactos/dll/win32/user32/user_main.c branches/arwinss/reactos/dll/win32/user32/user_private.h branches/arwinss/reactos/dll/win32/user32/win.c branches/arwinss/reactos/dll/win32/user32/win.h branches/arwinss/reactos/dll/win32/user32/winpos.c branches/arwinss/reactos/dll/win32/winex11.drv/ (props changed) branches/arwinss/reactos/dll/win32/winex11.drv/event.c branches/arwinss/reactos/dll/win32/winex11.drv/graphics.c branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c branches/arwinss/reactos/dll/win32/winex11.drv/x11drv.h branches/arwinss/reactos/dll/win32/winex11.drv/xrender.c branches/arwinss/reactos/include/reactos/wine/config.h branches/arwinss/reactos/include/reactos/wine/server_protocol.h branches/arwinss/reactos/subsystems/win32/win32k/include/request.h (contents, props changed) branches/arwinss/reactos/subsystems/win32/win32k/include/user.h (contents, props changed) branches/arwinss/reactos/subsystems/win32/win32k/main/monitor.c branches/arwinss/reactos/subsystems/win32/win32k/wine/ (props changed) branches/arwinss/reactos/subsystems/win32/win32k/wine/user.c Propchange: branches/arwinss/reactos/dll/win32/gdi32/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,3 +1,3 @@ /branches/ros-amd64-bringup/reactos/dll/win32/gdi32:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 /trunk/reactos/dll/win32/gdi32:42000-43670 -/vendor/wine/dlls/gdi32/current:43136,43149,43398 +/vendor/wine/dlls/gdi32/current:43136,43149,43398,43708 Modified: branches/arwinss/reactos/dll/win32/gdi32/dib.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
============================================================================== --- branches/arwinss/reactos/dll/win32/gdi32/dib.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/gdi32/dib.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -336,17 +336,17 @@ BITMAPOBJ *bitmap; INT result = 0; + if (coloruse == DIB_RGB_COLORS) hdc = CreateCompatibleDC(0); + if (!(dc = get_dc_ptr( hdc ))) - { - if (coloruse == DIB_RGB_COLORS) FIXME( "shouldn't require a DC for DIB_RGB_COLORS\n" ); return 0; - } update_dc( dc ); if (!(bitmap = GDI_GetObjPtr( hbitmap, OBJ_BITMAP ))) { release_dc_ptr( dc ); + if (coloruse == DIB_RGB_COLORS) DeleteDC(hdc); return 0; } @@ -365,6 +365,7 @@ done: GDI_ReleaseObj( hbitmap ); release_dc_ptr( dc ); + if (coloruse == DIB_RGB_COLORS) DeleteDC(hdc); return result; } Modified: branches/arwinss/reactos/dll/win32/gdi32/font.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/gdi32…
============================================================================== --- branches/arwinss/reactos/dll/win32/gdi32/font.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/gdi32/font.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -2596,13 +2596,13 @@ int index = 0; switch (flags) { case TCI_SRCFONTSIG: - while (!(*lpSrc>>index & 0x0001) && index<MAXTCIINDEX) index++; + while (index < MAXTCIINDEX && !(*lpSrc>>index & 0x0001)) index++; break; case TCI_SRCCODEPAGE: - while (PtrToUlong(lpSrc) != FONT_tci[index].ciACP && index < MAXTCIINDEX) index++; + while (index < MAXTCIINDEX && PtrToUlong(lpSrc) != FONT_tci[index].ciACP) index++; break; case TCI_SRCCHARSET: - while (PtrToUlong(lpSrc) != FONT_tci[index].ciCharset && index < MAXTCIINDEX) index++; + while (index < MAXTCIINDEX && PtrToUlong(lpSrc) != FONT_tci[index].ciCharset) index++; break; default: return FALSE; Propchange: branches/arwinss/reactos/dll/win32/user32/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,3 +1,3 @@ /branches/ros-amd64-bringup/reactos/dll/win32/user32:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 /trunk/reactos/dll/win32/user32:42000-43670 -/vendor/wine/dlls/user32/current:43136,43149,43398 +/vendor/wine/dlls/user32/current:43136,43149,43398,43708 Modified: branches/arwinss/reactos/dll/win32/user32/button.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/button.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/button.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -836,14 +836,17 @@ hOldBrush = SelectObject(hDC,GetSysColorBrush(COLOR_BTNFACE)); oldBkMode = SetBkMode(hDC, TRANSPARENT); + if (get_button_type(style) == BS_DEFPUSHBUTTON) + { + if (action != ODA_FOCUS) + Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom); + InflateRect( &rc, -1, -1 ); + } + + focus_rect = rc; + /* completely skip the drawing if only focus has changed */ if (action == ODA_FOCUS) goto draw_focus; - - if (get_button_type(style) == BS_DEFPUSHBUTTON) - { - Rectangle(hDC, rc.left, rc.top, rc.right, rc.bottom); - InflateRect( &rc, -1, -1 ); - } uState = DFCS_BUTTONPUSH | DFCS_ADJUSTRECT; @@ -861,8 +864,6 @@ uState |= DFCS_CHECKED; DrawFrameControl( hDC, &rc, DFC_BUTTON, uState ); - - focus_rect = rc; /* draw button label */ r = rc; Modified: branches/arwinss/reactos/dll/win32/user32/cursoricon.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/cursoricon.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/cursoricon.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -474,6 +474,20 @@ LeaveCriticalSection( &IconCrst ); } #endif +/********************************************************************** + * get_icon_size + */ +BOOL get_icon_size( HICON handle, SIZE *size ) +{ + CURSORICONINFO *info; + + if (!(info = GlobalLock( handle ))) return FALSE; + size->cx = info->nWidth; + size->cy = info->nHeight; + GlobalUnlock( handle ); + return TRUE; +} + /* * The following macro functions account for the irregularities of * accessing cursor and icon resources in files and resource entries. @@ -954,7 +968,7 @@ || (chunk_type && *(DWORD *)ptr == chunk_type && *((DWORD *)ptr + 2) == chunk_id )) { ptr += sizeof(DWORD); - chunk->data_size = *(DWORD *)ptr; + chunk->data_size = (*(DWORD *)ptr + 1) & ~1; ptr += sizeof(DWORD); if (chunk_type == ANI_LIST_ID || chunk_type == ANI_RIFF_ID) ptr += sizeof(DWORD); chunk->data = ptr; @@ -963,7 +977,7 @@ } ptr += sizeof(DWORD); - ptr += *(DWORD *)ptr; + ptr += (*(DWORD *)ptr + 1) & ~1; ptr += sizeof(DWORD); } } @@ -1809,7 +1823,7 @@ * RETURNS * A handle to the previous cursor shape. */ -HCURSOR WINAPI SetCursor( HCURSOR hCursor /* [in] Handle of cursor to show */ ) +HCURSOR WINAPI DECLSPEC_HOTPATCH SetCursor( HCURSOR hCursor /* [in] Handle of cursor to show */ ) { struct user_thread_info *thread_info = get_user_thread_info(); HCURSOR hOldCursor; @@ -1830,7 +1844,7 @@ /*********************************************************************** * ShowCursor (USER32.@) */ -INT WINAPI ShowCursor( BOOL bShow ) +INT WINAPI DECLSPEC_HOTPATCH ShowCursor( BOOL bShow ) { struct user_thread_info *thread_info = get_user_thread_info(); @@ -1864,7 +1878,7 @@ /*********************************************************************** * ClipCursor (USER32.@) */ -BOOL WINAPI ClipCursor( const RECT *rect ) +BOOL WINAPI DECLSPEC_HOTPATCH ClipCursor( const RECT *rect ) { RECT virt; @@ -1887,7 +1901,7 @@ /*********************************************************************** * GetClipCursor (USER32.@) */ -BOOL WINAPI GetClipCursor( RECT *rect ) +BOOL WINAPI DECLSPEC_HOTPATCH GetClipCursor( RECT *rect ) { /* If this is first time - initialize the rect */ if (IsRectEmpty( &CURSOR_ClipRect )) ClipCursor( NULL ); Modified: branches/arwinss/reactos/dll/win32/user32/driver.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/driver.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/driver.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -327,8 +327,10 @@ static BOOL CDECL nulldrv_CreateWindow( HWND hwnd ) { static int warned; - if (warned++) - return FALSE; + + /* HWND_MESSAGE windows don't need a graphics driver */ + if (GetAncestor( hwnd, GA_PARENT ) == get_user_thread_info()->msg_window) return TRUE; + if (warned++) return FALSE; MESSAGE( "Application tried to create a window, but no driver could be loaded.\n"); switch (driver_load_error) Modified: branches/arwinss/reactos/dll/win32/user32/edit.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/edit.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/edit.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -4537,16 +4537,16 @@ alloc_size = ROUND_TO_GROW((es->buffer_size + 1) * sizeof(WCHAR)); if(!(es->hloc32W = LocalAlloc(LMEM_MOVEABLE | LMEM_ZEROINIT, alloc_size))) - return FALSE; + goto cleanup; es->buffer_size = LocalSize(es->hloc32W)/sizeof(WCHAR) - 1; if (!(es->undo_text = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, (es->buffer_size + 1) * sizeof(WCHAR)))) - return FALSE; + goto cleanup; es->undo_buffer_size = es->buffer_size; if (es->style & ES_MULTILINE) if (!(es->first_line_def = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(LINEDEF)))) - return FALSE; + goto cleanup; es->line_count = 1; /* @@ -4566,6 +4566,14 @@ SetWindowLongW(hwnd, GWL_STYLE, es->style & ~WS_BORDER); return TRUE; + +cleanup: + SetWindowLongPtrW(es->hwndSelf, 0, 0); + HeapFree(GetProcessHeap(), 0, es->first_line_def); + HeapFree(GetProcessHeap(), 0, es->undo_text); + if (es->hloc32W) LocalFree(es->hloc32W); + HeapFree(GetProcessHeap(), 0, es); + return FALSE; } @@ -4653,7 +4661,8 @@ pc = pp; } - SetWindowLongPtrW( es->hwndSelf, 0, 0 ); + SetWindowLongPtrW( es->hwndSelf, 0, 0 ); + HeapFree(GetProcessHeap(), 0, es->undo_text); HeapFree(GetProcessHeap(), 0, es); return 0; @@ -5255,7 +5264,11 @@ CS_DBLCLKS | CS_PARENTDC, /* style */ EditWndProcA, /* procA */ EditWndProcW, /* procW */ +#ifdef _WIN64 sizeof(EDITSTATE *), /* extra */ +#else + sizeof(EDITSTATE *) + sizeof(HANDLE16), /* extra */ +#endif IDC_IBEAM, /* cursor */ 0 /* brush */ }; Modified: branches/arwinss/reactos/dll/win32/user32/input.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/input.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/input.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -192,7 +192,7 @@ /*********************************************************************** * GetCursorPos (USER32.@) */ -BOOL WINAPI GetCursorPos( POINT *pt ) +BOOL WINAPI DECLSPEC_HOTPATCH GetCursorPos( POINT *pt ) { if (!pt) return FALSE; return USER_Driver->pGetCursorPos( pt ); @@ -215,7 +215,7 @@ /*********************************************************************** * SetCursorPos (USER32.@) */ -BOOL WINAPI SetCursorPos( INT x, INT y ) +BOOL WINAPI DECLSPEC_HOTPATCH SetCursorPos( INT x, INT y ) { return USER_Driver->pSetCursorPos( x, y ); } @@ -224,7 +224,7 @@ /********************************************************************** * SetCapture (USER32.@) */ -HWND WINAPI SetCapture( HWND hwnd ) +HWND WINAPI DECLSPEC_HOTPATCH SetCapture( HWND hwnd ) { HWND previous; @@ -236,7 +236,7 @@ /********************************************************************** * ReleaseCapture (USER32.@) */ -BOOL WINAPI ReleaseCapture(void) +BOOL WINAPI DECLSPEC_HOTPATCH ReleaseCapture(void) { BOOL ret = set_capture_window( 0, 0, NULL ); @@ -271,7 +271,7 @@ * bit set to 1 if currently pressed, low-order bit set to 1 if key has * been pressed. */ -SHORT WINAPI GetAsyncKeyState(INT nKey) +SHORT WINAPI DECLSPEC_HOTPATCH GetAsyncKeyState(INT nKey) { if (nKey < 0 || nKey > 256) return 0; @@ -370,7 +370,7 @@ /****************************************************************** * RegisterRawInputDevices (USER32.@) */ -BOOL WINAPI RegisterRawInputDevices(PRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize) +BOOL WINAPI DECLSPEC_HOTPATCH RegisterRawInputDevices(PRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize) { FIXME("(pRawInputDevices=%p, uiNumDevices=%d, cbSize=%d) stub!\n", pRawInputDevices, uiNumDevices, cbSize); @@ -393,7 +393,7 @@ /****************************************************************** * GetRawInputBuffer (USER32.@) */ -UINT WINAPI GetRawInputBuffer(PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader) +UINT WINAPI DECLSPEC_HOTPATCH GetRawInputBuffer(PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader) { FIXME("(pData=%p, pcbSize=%p, cbSizeHeader=%d) stub!\n", pData, pcbSize, cbSizeHeader); @@ -474,7 +474,7 @@ * keyboard-input message. This function retrieves the state of the key * at the time the input message was generated. */ -SHORT WINAPI GetKeyState(INT vkey) +SHORT WINAPI DECLSPEC_HOTPATCH GetKeyState(INT vkey) { SHORT retval = 0; @@ -493,7 +493,7 @@ /********************************************************************** * GetKeyboardState (USER32.@) */ -BOOL WINAPI GetKeyboardState( LPBYTE state ) +BOOL WINAPI DECLSPEC_HOTPATCH GetKeyboardState( LPBYTE state ) { BOOL ret; Modified: branches/arwinss/reactos/dll/win32/user32/menu.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/menu.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/menu.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -93,8 +93,8 @@ /* Popup menu structure */ typedef struct { + struct user_object obj; WORD wFlags; /* Menu flags (MF_POPUP, MF_SYSMENU) */ - WORD wMagic; /* Magic number */ WORD Width; /* Width of the whole menu */ WORD Height; /* Height of the whole menu */ UINT nItems; /* Number of items in the menu */ @@ -300,12 +300,15 @@ */ static POPUPMENU *MENU_GetMenu(HMENU hMenu) { - POPUPMENU *menu = USER_HEAP_LIN_ADDR(hMenu); - if (!menu || menu->wMagic != MENU_MAGIC) - { - WARN("invalid menu handle=%p, ptr=%p, magic=%x\n", hMenu, menu, menu? menu->wMagic:0); - menu = NULL; - } + POPUPMENU *menu = get_user_handle_ptr( hMenu, USER_MENU ); + + if (menu == OBJ_OTHER_PROCESS) + { + WARN( "other process menu %p?\n", hMenu); + return NULL; + } + if (menu) release_user_handle_ptr( menu ); /* FIXME! */ + else WARN("invalid menu handle=%p\n", hMenu); return menu; } @@ -3507,6 +3510,7 @@ break; case MM_GETMENUHANDLE: + case MN_GETHMENU: return GetWindowLongPtrW( hwnd, 0 ); default: @@ -4029,14 +4033,13 @@ { HMENU hMenu; LPPOPUPMENU menu; - if (!(hMenu = USER_HEAP_ALLOC( sizeof(POPUPMENU) ))) return 0; - menu = USER_HEAP_LIN_ADDR(hMenu); - - ZeroMemory(menu, sizeof(POPUPMENU)); - menu->wMagic = MENU_MAGIC; + + if (!(menu = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*menu) ))) return 0; menu->FocusedItem = NO_SELECTED_ITEM; menu->bTimeToHide = FALSE; + if (!(hMenu = alloc_user_handle( &menu->obj, USER_MENU ))) HeapFree( GetProcessHeap(), 0, menu ); + TRACE("return %p\n", hMenu ); return hMenu; @@ -4048,14 +4051,12 @@ */ BOOL WINAPI DestroyMenu( HMENU hMenu ) { - LPPOPUPMENU lppop = MENU_GetMenu(hMenu); + LPPOPUPMENU lppop; TRACE("(%p)\n", hMenu); - - if (!lppop) return FALSE; - - lppop->wMagic = 0; /* Mark it as destroyed */ + if (!(lppop = free_user_handle( hMenu, USER_MENU ))) return FALSE; + if (lppop == OBJ_OTHER_PROCESS) return FALSE; /* DestroyMenu should not destroy system menu popup owner */ if ((lppop->wFlags & (MF_POPUP | MF_SYSMENU)) == MF_POPUP && lppop->hWnd) @@ -4075,7 +4076,7 @@ } HeapFree( GetProcessHeap(), 0, lppop->items ); } - USER_HEAP_FREE( hMenu ); + HeapFree( GetProcessHeap(), 0, lppop ); return TRUE; } @@ -5349,92 +5350,59 @@ */ INT WINAPI TranslateAcceleratorA( HWND hWnd, HACCEL hAccel, LPMSG msg ) { - /* YES, Accel16! */ - LPACCEL lpAccelTbl; - int i; - WPARAM wParam; - - if (!hWnd || !msg) return 0; - - if (!hAccel || !(lpAccelTbl = (LPACCEL) LockResource(hAccel))) - { - WARN_(accel)("invalid accel handle=%p\n", hAccel); - return 0; - } - - wParam = msg->wParam; - switch (msg->message) { case WM_KEYDOWN: case WM_SYSKEYDOWN: - break; + return TranslateAcceleratorW( hWnd, hAccel, msg ); case WM_CHAR: case WM_SYSCHAR: { - char ch = LOWORD(wParam); + MSG msgW = *msg; + char ch = LOWORD(msg->wParam); WCHAR wch; MultiByteToWideChar(CP_ACP, 0, &ch, 1, &wch, 1); - wParam = MAKEWPARAM(wch, HIWORD(wParam)); - } - break; + msgW.wParam = MAKEWPARAM(wch, HIWORD(msg->wParam)); + return TranslateAcceleratorW( hWnd, hAccel, &msgW ); + } default: return 0; } +} + +/********************************************************************** + * TranslateAcceleratorW (USER32.@) + */ +INT WINAPI TranslateAcceleratorW( HWND hWnd, HACCEL hAccel, LPMSG msg ) +{ + ACCEL data[32], *ptr = data; + int i, count; + + if (!hWnd) return 0; + + if (msg->message != WM_KEYDOWN && + msg->message != WM_SYSKEYDOWN && + msg->message != WM_CHAR && + msg->message != WM_SYSCHAR) + return 0; TRACE_(accel)("hAccel %p, hWnd %p, msg->hwnd %p, msg->message %04x, wParam %08lx, lParam %08lx\n", hAccel,hWnd,msg->hwnd,msg->message,msg->wParam,msg->lParam); - i = 0; - do - { - if (translate_accelerator( hWnd, msg->message, wParam, msg->lParam, - lpAccelTbl[i].fVirt, lpAccelTbl[i].key, lpAccelTbl[i].cmd)) - return 1; - } while ((lpAccelTbl[i++].fVirt & 0x80) == 0); - - return 0; -} - -/********************************************************************** - * TranslateAcceleratorW (USER32.@) - */ -INT WINAPI TranslateAcceleratorW( HWND hWnd, HACCEL hAccel, LPMSG msg ) -{ - /* YES, Accel16! */ - LPACCEL lpAccelTbl; - int i; - - if (!hWnd || !msg) return 0; - - if (!hAccel || !(lpAccelTbl = LockResource(hAccel))) - { - WARN_(accel)("invalid accel handle=%p\n", hAccel); - return 0; - } - - switch (msg->message) - { - case WM_KEYDOWN: - case WM_SYSKEYDOWN: - case WM_CHAR: - case WM_SYSCHAR: - break; - - default: - return 0; - } - - TRACE_(accel)("hAccel %p, hWnd %p, msg->hwnd %p, msg->message %04x, wParam %08lx, lParam %08lx\n", - hAccel,hWnd,msg->hwnd,msg->message,msg->wParam,msg->lParam); - i = 0; - do + + if (!(count = CopyAcceleratorTableW( hAccel, NULL, 0 ))) return 0; + if (count > sizeof(data)/sizeof(data[0])) + { + if (!(ptr = HeapAlloc( GetProcessHeap(), 0, count * sizeof(*ptr) ))) return 0; + } + count = CopyAcceleratorTableW( hAccel, ptr, count ); + for (i = 0; i < count; i++) { if (translate_accelerator( hWnd, msg->message, msg->wParam, msg->lParam, - lpAccelTbl[i].fVirt, lpAccelTbl[i].key, lpAccelTbl[i].cmd)) - return 1; - } while ((lpAccelTbl[i++].fVirt & 0x80) == 0); - - return 0; -} + ptr[i].fVirt, ptr[i].key, ptr[i].cmd)) + break; + } + if (ptr != data) HeapFree( GetProcessHeap(), 0, ptr ); + return (i < count); +} Modified: branches/arwinss/reactos/dll/win32/user32/message.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/message.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/message.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -3061,7 +3061,7 @@ * * See DispatchMessageW. */ -LRESULT WINAPI DispatchMessageA( const MSG* msg ) +LRESULT WINAPI DECLSPEC_HOTPATCH DispatchMessageA( const MSG* msg ) { LRESULT retval; @@ -3132,7 +3132,7 @@ * ECMA-234, Win32 * */ -LRESULT WINAPI DispatchMessageW( const MSG* msg ) +LRESULT WINAPI DECLSPEC_HOTPATCH DispatchMessageW( const MSG* msg ) { LRESULT retval; Modified: branches/arwinss/reactos/dll/win32/user32/nonclient.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/nonclient.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/nonclient.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -533,17 +533,17 @@ RECT rect, rcClient; POINT ptClient; - TRACE("hwnd=%p pt=%d,%d\n", wndPtr->hwndSelf, pt.x, pt.y ); - - GetWindowRect(wndPtr->hwndSelf, &rect ); + TRACE("hwnd=%p pt=%d,%d\n", wndPtr->obj.handle, pt.x, pt.y ); + + GetWindowRect(wndPtr->obj.handle, &rect ); if (!PtInRect( &rect, pt )) return HTNOWHERE; if (wndPtr->dwStyle & WS_MINIMIZE) return HTCAPTION; /* Check client area */ ptClient = pt; - ScreenToClient( wndPtr->hwndSelf, &ptClient ); - GetClientRect( wndPtr->hwndSelf, &rcClient ); + ScreenToClient( wndPtr->obj.handle, &ptClient ); + GetClientRect( wndPtr->obj.handle, &rcClient ); if (PtInRect( &rcClient, ptClient )) return HTCLIENT; /* Check borders */ @@ -606,7 +606,7 @@ /* Check system menu */ if ((wndPtr->dwStyle & WS_SYSMENU) && !(wndPtr->dwExStyle & WS_EX_TOOLWINDOW)) { - if (NC_IconForWindow(wndPtr->hwndSelf)) + if (NC_IconForWindow(wndPtr->obj.handle)) rect.left += GetSystemMetrics(SM_CYCAPTION) - 1; } if (pt.x < rect.left) return HTSYSMENU; Modified: branches/arwinss/reactos/dll/win32/user32/resource.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/resource.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/resource.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -2,7 +2,7 @@ * USER resource functions * * Copyright 1993 Robert J. Amstadt - * Copyright 1995 Alexandre Julliard + * Copyright 1995, 2009 Alexandre Julliard * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,10 +26,8 @@ #include "winerror.h" #include "winternl.h" #include "winnls.h" -#include "wine/winbase16.h" -#include "wine/winuser16.h" -#include "wownt32.h" #include "wine/debug.h" +#include "user_private.h" WINE_DEFAULT_DEBUG_CHANNEL(resource); WINE_DECLARE_DEBUG_CHANNEL(accel); @@ -41,73 +39,39 @@ WORD key; WORD cmd; WORD pad; -} PE_ACCEL, *LPPE_ACCEL; - -/********************************************************************** - * LoadAccelerators [USER.177] - */ -#ifndef __REACTOS__ -HACCEL16 WINAPI LoadAccelerators16(HINSTANCE16 instance, LPCSTR lpTableName) -{ - HRSRC16 hRsrc; - - TRACE_(accel)("%04x %s\n", instance, debugstr_a(lpTableName) ); - - if (!(hRsrc = FindResource16( instance, lpTableName, (LPSTR)RT_ACCELERATOR ))) { - WARN_(accel)("couldn't find accelerator table resource\n"); - return 0; - } - - TRACE_(accel)("returning HACCEL 0x%x\n", hRsrc); - return LoadResource16(instance,hRsrc); -} -#endif +} PE_ACCEL; + +/* the accelerator user object */ +struct accelerator +{ + struct user_object obj; + unsigned int count; + PE_ACCEL table[1]; +}; + /********************************************************************** * LoadAcceleratorsW (USER32.@) - * The image layout seems to look like this (not 100% sure): - * 00: WORD type type of accelerator - * 02: WORD event - * 04: WORD IDval - * 06: WORD pad (to DWORD boundary) - */ -HACCEL WINAPI LoadAcceleratorsW(HINSTANCE instance,LPCWSTR lpTableName) -{ - HRSRC hRsrc; - HACCEL hMem; - HACCEL hRetval=0; - DWORD size; - - if (HIWORD(lpTableName)) - TRACE_(accel)("%p '%s'\n", instance, (const char *)( lpTableName ) ); - else - TRACE_(accel)("%p 0x%04x\n", instance, LOWORD(lpTableName) ); - - if (!(hRsrc = FindResourceW( instance, lpTableName, (LPWSTR)RT_ACCELERATOR ))) - { - WARN_(accel)("couldn't find accelerator table resource\n"); - } else { - hMem = LoadResource( instance, hRsrc ); - size = SizeofResource( instance, hRsrc ); - if(size>=sizeof(PE_ACCEL)) - { - LPPE_ACCEL accel_table = (LPPE_ACCEL) hMem; - LPACCEL accel16; - int i,nrofaccells = size/sizeof(PE_ACCEL); - - hRetval = GlobalAlloc(0,sizeof(ACCEL)*nrofaccells); - accel16 = (LPACCEL)GlobalLock(hRetval); - for (i=0;i<nrofaccells;i++) { - accel16[i].fVirt = accel_table[i].fVirt & 0x7f; - accel16[i].key = accel_table[i].key; - if( !(accel16[i].fVirt & FVIRTKEY) ) - accel16[i].key &= 0x00ff; - accel16[i].cmd = accel_table[i].cmd; - } - accel16[i-1].fVirt |= 0x80; - } - } - TRACE_(accel)("returning HACCEL %p\n", hRsrc); - return hRetval; + */ +HACCEL WINAPI LoadAcceleratorsW(HINSTANCE instance, LPCWSTR name) +{ + struct accelerator *accel; + const PE_ACCEL *table; + HRSRC rsrc; + HACCEL handle; + DWORD count; + + if (!(rsrc = FindResourceW( instance, name, (LPWSTR)RT_ACCELERATOR ))) return 0; + table = LoadResource( instance, rsrc ); + count = SizeofResource( instance, rsrc ) / sizeof(*table); + if (!count) return 0; + accel = HeapAlloc( GetProcessHeap(), 0, FIELD_OFFSET( struct accelerator, table[count] )); + if (!accel) return 0; + accel->count = count; + memcpy( accel->table, table, count * sizeof(*table) ); + if (!(handle = alloc_user_handle( &accel->obj, USER_ACCEL ))) + HeapFree( GetProcessHeap(), 0, accel ); + TRACE_(accel)("%p %s returning %p\n", instance, debugstr_w(name), handle ); + return handle; } /*********************************************************************** @@ -134,165 +98,119 @@ /********************************************************************** * CopyAcceleratorTableA (USER32.@) */ -INT WINAPI CopyAcceleratorTableA(HACCEL src, LPACCEL dst, INT entries) -{ - return CopyAcceleratorTableW(src, dst, entries); +INT WINAPI CopyAcceleratorTableA(HACCEL src, LPACCEL dst, INT count) +{ + char ch; + int i, ret = CopyAcceleratorTableW( src, dst, count ); + + if (ret && dst) + { + for (i = 0; i < ret; i++) + { + if (dst[i].fVirt & FVIRTKEY) continue; + WideCharToMultiByte( CP_ACP, 0, &dst[i].key, 1, &ch, 1, NULL, NULL ); + dst[i].key = ch; + } + } + return ret; } /********************************************************************** * CopyAcceleratorTableW (USER32.@) - * - * By mortene(a)pvv.org 980321 - */ -INT WINAPI CopyAcceleratorTableW(HACCEL src, LPACCEL dst, - INT entries) -{ - int i,xsize; - LPACCEL accel = (LPACCEL)GlobalLock(src); - BOOL done = FALSE; - - /* Do parameter checking to avoid the explosions and the screaming - as far as possible. */ - if((dst && (entries < 1)) || (src == NULL) || !accel) { - WARN_(accel)("Application sent invalid parameters (%p %p %d).\n", - src, dst, entries); - return 0; - } - xsize = GlobalSize(src)/sizeof(ACCEL); - if (xsize<entries) entries=xsize; - - i=0; - while(!done) { - /* Spit out some debugging information. */ - TRACE_(accel)("accel %d: type 0x%02x, event '%c', IDval 0x%04x.\n", - i, accel[i].fVirt, accel[i].key, accel[i].cmd); - - /* Copy data to the destination structure array (if dst == NULL, - we're just supposed to count the number of entries). */ - if(dst) { - dst[i].fVirt = accel[i].fVirt&0x7f; - dst[i].key = accel[i].key; - dst[i].cmd = accel[i].cmd; - - /* Check if we've reached the end of the application supplied - accelerator table. */ - if(i+1 == entries) - done = TRUE; - } - - /* The highest order bit seems to mark the end of the accelerator - resource table, but not always. Use GlobalSize() check too. */ - if((accel[i].fVirt & 0x80) != 0) done = TRUE; - - i++; - } - - return i; + */ +INT WINAPI CopyAcceleratorTableW(HACCEL src, LPACCEL dst, INT count) +{ + struct accelerator *accel; + int i; + + if (!(accel = get_user_handle_ptr( src, USER_ACCEL ))) return 0; + if (accel == OBJ_OTHER_PROCESS) + { + FIXME( "other process handle %p?\n", src ); + return 0; + } + if (dst) + { + if (count > accel->count) count = accel->count; + for (i = 0; i < count; i++) + { + dst[i].fVirt = accel->table[i].fVirt & 0x7f; + dst[i].key = accel->table[i].key; + dst[i].cmd = accel->table[i].cmd; + } + } + else count = accel->count; + release_user_handle_ptr( accel ); + return count; } /********************************************************************* * CreateAcceleratorTableA (USER32.@) - * - * By mortene(a)pvv.org 980321 - */ -HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccel, INT cEntries) -{ - HACCEL hAccel; - LPACCEL accel; - int i; - - /* Do parameter checking just in case someone's trying to be - funny. */ - if(cEntries < 1) { - WARN_(accel)("Application sent invalid parameters (%p %d).\n", - lpaccel, cEntries); - SetLastError(ERROR_INVALID_PARAMETER); - return NULL; - } - - /* Allocate memory and copy the table. */ - hAccel = GlobalAlloc(0,cEntries*sizeof(ACCEL)); - - TRACE_(accel)("handle %p\n", hAccel); - if(!hAccel) { - ERR_(accel)("Out of memory.\n"); - SetLastError(ERROR_NOT_ENOUGH_MEMORY); - return NULL; - } - accel = GlobalLock(hAccel); - for (i=0;i<cEntries;i++) { - accel[i].fVirt = lpaccel[i].fVirt&0x7f; - accel[i].key = lpaccel[i].key; - if( !(accel[i].fVirt & FVIRTKEY) ) - accel[i].key &= 0x00ff; - accel[i].cmd = lpaccel[i].cmd; - } - /* Set the end-of-table terminator. */ - accel[cEntries-1].fVirt |= 0x80; - - TRACE_(accel)("Allocated accelerator handle %p with %d entries\n", hAccel,cEntries); - return hAccel; + */ +HACCEL WINAPI CreateAcceleratorTableA(LPACCEL lpaccel, INT count) +{ + struct accelerator *accel; + HACCEL handle; + int i; + + if (count < 1) + { + SetLastError( ERROR_INVALID_PARAMETER ); + return 0; + } + accel = HeapAlloc( GetProcessHeap(), 0, FIELD_OFFSET( struct accelerator, table[count] )); + if (!accel) return 0; + accel->count = count; + for (i = 0; i < count; i++) + { + accel->table[i].fVirt = lpaccel[i].fVirt; + accel->table[i].cmd = lpaccel[i].cmd; + if (!(lpaccel[i].fVirt & FVIRTKEY)) + { + char ch = lpaccel[i].key; + MultiByteToWideChar( CP_ACP, 0, &ch, 1, &accel->table[i].key, 1 ); + } + else accel->table[i].key = lpaccel[i].key; + } + if (!(handle = alloc_user_handle( &accel->obj, USER_ACCEL ))) + HeapFree( GetProcessHeap(), 0, accel ); + TRACE_(accel)("returning %p\n", handle ); + return handle; } /********************************************************************* * CreateAcceleratorTableW (USER32.@) - * - * - */ -HACCEL WINAPI CreateAcceleratorTableW(LPACCEL lpaccel, INT cEntries) -{ - HACCEL hAccel; - LPACCEL accel; - int i; - char ckey; - - /* Do parameter checking just in case someone's trying to be - funny. */ - if(cEntries < 1) { - WARN_(accel)("Application sent invalid parameters (%p %d).\n", - lpaccel, cEntries); - SetLastError(ERROR_INVALID_PARAMETER); - return NULL; - } - - /* Allocate memory and copy the table. */ - hAccel = GlobalAlloc(0,cEntries*sizeof(ACCEL)); - - TRACE_(accel)("handle %p\n", hAccel); - if(!hAccel) { - ERR_(accel)("Out of memory.\n"); - SetLastError(ERROR_NOT_ENOUGH_MEMORY); - return NULL; - } - accel = GlobalLock(hAccel); - - - for (i=0;i<cEntries;i++) { - accel[i].fVirt = lpaccel[i].fVirt&0x7f; - if( !(accel[i].fVirt & FVIRTKEY) ) { - ckey = (char) lpaccel[i].key; - if(!MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, &ckey, 1, &accel[i].key, 1)) - WARN_(accel)("Error converting ASCII accelerator table to Unicode\n"); - } - else - accel[i].key = lpaccel[i].key; - accel[i].cmd = lpaccel[i].cmd; - } - - /* Set the end-of-table terminator. */ - accel[cEntries-1].fVirt |= 0x80; - - TRACE_(accel)("Allocated accelerator handle %p\n", hAccel); - return hAccel; + */ +HACCEL WINAPI CreateAcceleratorTableW(LPACCEL lpaccel, INT count) +{ + struct accelerator *accel; + HACCEL handle; + int i; + + if (count < 1) + { + SetLastError( ERROR_INVALID_PARAMETER ); + return 0; + } + accel = HeapAlloc( GetProcessHeap(), 0, FIELD_OFFSET( struct accelerator, table[count] )); + if (!accel) return 0; + accel->count = count; + for (i = 0; i < count; i++) + { + accel->table[i].fVirt = lpaccel[i].fVirt; + accel->table[i].key = lpaccel[i].key; + accel->table[i].cmd = lpaccel[i].cmd; + } + if (!(handle = alloc_user_handle( &accel->obj, USER_ACCEL ))) + HeapFree( GetProcessHeap(), 0, accel ); + TRACE_(accel)("returning %p\n", handle ); + return handle; } /****************************************************************************** * DestroyAcceleratorTable [USER32.@] * Destroys an accelerator table * - * NOTES - * By mortene(a)pvv.org 980321 - * * PARAMS * handle [I] Handle to accelerator table * @@ -302,57 +220,16 @@ */ BOOL WINAPI DestroyAcceleratorTable( HACCEL handle ) { - if( !handle ) + struct accelerator *accel; + + if (!(accel = free_user_handle( handle, USER_ACCEL ))) return FALSE; + if (accel == OBJ_OTHER_PROCESS) + { + FIXME( "other process handle %p?\n", accel ); return FALSE; - return !GlobalFree(handle); -} - -/********************************************************************** - * LoadString (USER.176) - */ -#ifndef __REACTOS__ -INT16 WINAPI LoadString16( HINSTANCE16 instance, UINT16 resource_id, - LPSTR buffer, INT16 buflen ) -{ - HGLOBAL16 hmem; - HRSRC16 hrsrc; - unsigned char *p; - int string_num; - int i; - - TRACE("inst=%04x id=%04x buff=%p len=%d\n", - instance, resource_id, buffer, buflen); - - hrsrc = FindResource16( instance, MAKEINTRESOURCEA((resource_id>>4)+1), (LPSTR)RT_STRING ); - if (!hrsrc) return 0; - hmem = LoadResource16( instance, hrsrc ); - if (!hmem) return 0; - - p = LockResource16(hmem); - string_num = resource_id & 0x000f; - for (i = 0; i < string_num; i++) - p += *p + 1; - - TRACE("strlen = %d\n", (int)*p ); - - if (buffer == NULL) return *p; - i = min(buflen - 1, *p); - if (i > 0) { - memcpy(buffer, p + 1, i); - buffer[i] = '\0'; - } else { - if (buflen > 1) { - buffer[0] = '\0'; - return 0; - } - WARN("Don't know why caller gave buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1); - } - FreeResource16( hmem ); - - TRACE("'%s' loaded !\n", buffer); - return i; -} -#endif + } + return HeapFree( GetProcessHeap(), 0, accel ); +} /********************************************************************** * LoadStringW (USER32.@) Modified: branches/arwinss/reactos/dll/win32/user32/resources/version.rc URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/resources/version.rc [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/resources/version.rc [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -20,8 +20,13 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -#define WINE_FILEVERSION_STR "1.0" #define WINE_FILEDESCRIPTION_STR "Wine core dll" #define WINE_FILENAME_STR "user32.dll" +/* these values come from Windows XP SP2 */ +#define WINE_FILEVERSION 5,1,2600,2180 +#define WINE_FILEVERSION_STR "5.01.2600.2180" +#define WINE_PRODUCTVERSION 5,1,2600,2180 +#define WINE_PRODUCTVERSION_STR "5.01.2600.2180" + #include "wine/wine_common_ver.rc" Modified: branches/arwinss/reactos/dll/win32/user32/static.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/static.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/static.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -148,12 +148,12 @@ static HICON STATIC_SetIcon( HWND hwnd, HICON hicon, DWORD style ) { HICON prevIcon; - CURSORICONINFO * info; + SIZE size; if ((style & SS_TYPEMASK) != SS_ICON) return 0; - info = hicon ? GlobalLock(hicon) : NULL; - if (hicon && !info) { - WARN("hicon != 0, but info == 0\n"); + if (hicon && !get_icon_size( hicon, &size )) + { + WARN("hicon != 0, but invalid\n"); return 0; } prevIcon = (HICON)SetWindowLongPtrW( hwnd, HICON_GWL_OFFSET, (LONG_PTR)hicon ); @@ -170,11 +170,9 @@ } else */ { - SetWindowPos( hwnd, 0, 0, 0, info->nWidth, info->nHeight, - SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER ); - } - } - if (info) GlobalUnlock(hicon); + SetWindowPos( hwnd, 0, 0, 0, size.cx, size.cy, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER ); + } + } return prevIcon; } @@ -573,7 +571,9 @@ case STM_GETIMAGE: return (LRESULT)STATIC_GetImage( hwnd, wParam, full_style ); - + + return HICON_16(STATIC_GetImage( hwnd, IMAGE_ICON, full_style )); + case STM_GETICON: return (LRESULT)STATIC_GetImage( hwnd, IMAGE_ICON, full_style ); @@ -596,6 +596,8 @@ STATIC_TryPaintFcn( hwnd, full_style ); break; + wParam = (WPARAM)HICON_32( (HICON16)wParam ); + /* fall through */ case STM_SETICON: lResult = (LRESULT)STATIC_SetIcon( hwnd, (HICON)wParam, full_style ); STATIC_TryPaintFcn( hwnd, full_style ); @@ -798,13 +800,12 @@ RECT rc, iconRect; HBRUSH hbrush; HICON hIcon; - CURSORICONINFO * info; + SIZE size; GetClientRect( hwnd, &rc ); hbrush = STATIC_SendWmCtlColorStatic(hwnd, hdc); hIcon = (HICON)GetWindowLongPtrW( hwnd, HICON_GWL_OFFSET ); - info = hIcon ? GlobalLock(hIcon) : NULL; - if (!hIcon || !info) + if (!hIcon || !get_icon_size( hIcon, &size )) { FillRect(hdc, &rc, hbrush); } @@ -812,10 +813,10 @@ { if (style & SS_CENTERIMAGE) { - iconRect.left = (rc.right - rc.left) / 2 - info->nWidth / 2; - iconRect.top = (rc.bottom - rc.top) / 2 - info->nHeight / 2; - iconRect.right = iconRect.left + info->nWidth; - iconRect.bottom = iconRect.top + info->nHeight; + iconRect.left = (rc.right - rc.left) / 2 - size.cx / 2; + iconRect.top = (rc.bottom - rc.top) / 2 - size.cy / 2; + iconRect.right = iconRect.left + size.cx; + iconRect.bottom = iconRect.top + size.cy; } else iconRect = rc; @@ -823,7 +824,6 @@ DrawIconEx( hdc, iconRect.left, iconRect.top, hIcon, iconRect.right - iconRect.left, iconRect.bottom - iconRect.top, 0, NULL, DI_NORMAL ); } - if (info) GlobalUnlock(hIcon); } static void STATIC_PaintBitmapfn(HWND hwnd, HDC hdc, DWORD style ) Modified: branches/arwinss/reactos/dll/win32/user32/uitools.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/uitools.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/uitools.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -22,8 +22,8 @@ #include <stdarg.h> #include "windef.h" +#include "winbase.h" #include "wingdi.h" -#include "wine/winuser16.h" #include "winuser.h" #include "user_private.h" #include "wine/unicode.h" @@ -1597,7 +1597,6 @@ if(!cx || !cy) { SIZE s; - CURSORICONINFO *ici; BITMAP bm; switch(opcode) @@ -1612,11 +1611,7 @@ break; case DST_ICON: - ici = GlobalLock((HGLOBAL)lp); - if(!ici) return FALSE; - s.cx = ici->nWidth; - s.cy = ici->nHeight; - GlobalUnlock((HGLOBAL)lp); + if (!get_icon_size( (HICON)lp, &s )) return FALSE; break; case DST_BITMAP: Modified: branches/arwinss/reactos/dll/win32/user32/user_main.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/user_main.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/user_main.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -36,7 +36,6 @@ #define DESKTOP_ALL_ACCESS 0x01ff -WORD USER_HeapSel = 0; /* USER heap selector */ HMODULE user32_module = 0; static CRITICAL_SECTION USER_SysCrit; @@ -271,15 +270,7 @@ static BOOL process_attach(void) { #ifndef __REACTOS__ - HINSTANCE16 instance; - - /* Create USER heap */ - if ((instance = LoadLibrary16( "USER.EXE" )) >= 32) USER_HeapSel = instance | 7; - else - { - USER_HeapSel = GlobalAlloc16( GMEM_FIXED, 65536 ); - LocalInit16( USER_HeapSel, 32, 65534 ); - } + LoadLibrary16( "user.exe" ); /* some Win9x dlls expect keyboard to be loaded */ if (GetVersion() & 0x80000000) LoadLibrary16( "keyboard.drv" ); Modified: branches/arwinss/reactos/dll/win32/user32/user_private.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/user_private.h [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/user_private.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -29,18 +29,8 @@ #include "winreg.h" #include "winternl.h" #include "wine/windef16.h" -#include "wine/winbase16.h" extern WORD USER_HeapSel DECLSPEC_HIDDEN; - -#define USER_HEAP_ALLOC(size) \ - ((HANDLE)HeapAlloc( GetProcessHeap(), 0, (size) )) -#define USER_HEAP_REALLOC(handle,size) \ - ((HANDLE)HeapReAlloc( GetProcessHeap(), 0, (handle), (size) )) -#define USER_HEAP_FREE(handle) \ - HeapFree( GetProcessHeap(), 0, handle ) -#define USER_HEAP_LIN_ADDR(handle) \ - (handle) #define GET_WORD(ptr) (*(const WORD *)(ptr)) #define GET_DWORD(ptr) (*(const DWORD *)(ptr)) @@ -136,6 +126,27 @@ struct received_message_info; struct hook16_queue_info; +enum user_obj_type +{ + USER_WINDOW = 1, /* window */ + USER_MENU, /* menu */ + USER_ACCEL, /* accelerator */ + USER_DWP /* DeferWindowPos structure */ +}; + +struct user_object +{ + HANDLE handle; + enum user_obj_type type; +}; + +#define OBJ_OTHER_PROCESS ((void *)1) /* returned by get_user_handle_ptr on unknown handles */ + +HANDLE alloc_user_handle( struct user_object *ptr, enum user_obj_type type ) DECLSPEC_HIDDEN; +void *get_user_handle_ptr( HANDLE handle, enum user_obj_type type ) DECLSPEC_HIDDEN; +void release_user_handle_ptr( void *ptr ) DECLSPEC_HIDDEN; +void *free_user_handle( HANDLE handle, enum user_obj_type type ) DECLSPEC_HIDDEN; + /* type of message-sending functions that need special WM_CHAR handling */ enum wm_char_mapping { @@ -319,6 +330,7 @@ #include "poppack.h" extern void CURSORICON_FreeModuleIcons( HMODULE16 hModule ) DECLSPEC_HIDDEN; +extern BOOL get_icon_size( HICON handle, SIZE *size ) DECLSPEC_HIDDEN; NTSYSAPI VOID Modified: branches/arwinss/reactos/dll/win32/user32/win.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/win.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/win.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -92,6 +92,89 @@ static void *user_handles[NB_USER_HANDLES]; /*********************************************************************** + * alloc_user_handle + */ +HANDLE alloc_user_handle( struct user_object *ptr, enum user_obj_type type ) +{ + HANDLE handle = 0; + + SERVER_START_REQ( alloc_user_handle ) + { + if (!wine_server_call_err( req )) handle = wine_server_ptr_handle( reply->handle ); + } + SERVER_END_REQ; + + if (handle) + { + UINT index = USER_HANDLE_TO_INDEX( handle ); + + assert( index < NB_USER_HANDLES ); + ptr->handle = handle; + ptr->type = type; + user_handles[index] = ptr; + } + return handle; +} + + +/*********************************************************************** + * get_user_handle_ptr + */ +void *get_user_handle_ptr( HANDLE handle, enum user_obj_type type ) +{ + struct user_object *ptr; + WORD index = USER_HANDLE_TO_INDEX( handle ); + + if (index >= NB_USER_HANDLES) return NULL; + + USER_Lock(); + if ((ptr = user_handles[index])) + { + if (ptr->type == type && + ((UINT)(UINT_PTR)ptr->handle == (UINT)(UINT_PTR)handle || + !HIWORD(handle) || HIWORD(handle) == 0xffff)) + return ptr; + ptr = NULL; + } + else ptr = OBJ_OTHER_PROCESS; + USER_Unlock(); + return ptr; +} + + +/*********************************************************************** + * release_user_handle_ptr + */ +void release_user_handle_ptr( void *ptr ) +{ + USER_Unlock(); +} + + +/*********************************************************************** + * free_user_handle + */ +void *free_user_handle( HANDLE handle, enum user_obj_type type ) +{ + struct user_object *ptr; + WORD index = USER_HANDLE_TO_INDEX( handle ); + + if ((ptr = get_user_handle_ptr( handle, type )) && ptr != OBJ_OTHER_PROCESS) + { + SERVER_START_REQ( free_user_handle ) + { + req->handle = wine_server_user_handle( handle ); + if (!wine_server_call( req )) user_handles[index] = NULL; + else ptr = NULL; + } + SERVER_END_REQ; + release_user_handle_ptr( ptr ); + } + return ptr; +} + + +/*********************************************************************** * create_window_handle * * Create a window handle with the server. @@ -164,12 +247,12 @@ index = USER_HANDLE_TO_INDEX(handle); assert( index < NB_USER_HANDLES ); user_handles[index] = win; - win->hwndSelf = handle; + win->obj.handle = handle; + win->obj.type = USER_WINDOW; win->parent = full_parent; win->owner = full_owner; win->class = class; win->winproc = get_class_winproc( class ); - win->dwMagic = WND_MAGIC; win->cbWndExtra = extra_bytes; if (WINPROC_IsUnicode( win->winproc, unicode )) win->flags |= WIN_ISUNICODE; return win; @@ -181,31 +264,23 @@ * * Free a window handle. */ -static WND *free_window_handle( HWND hwnd ) -{ - WND *ptr; +static void free_window_handle( HWND hwnd ) +{ + struct user_object *ptr; WORD index = USER_HANDLE_TO_INDEX(hwnd); - if (index >= NB_USER_HANDLES) return NULL; - USER_Lock(); - if ((ptr = user_handles[index])) + if ((ptr = get_user_handle_ptr( hwnd, USER_WINDOW )) && ptr != OBJ_OTHER_PROCESS) { SERVER_START_REQ( destroy_window ) { req->handle = wine_server_user_handle( hwnd ); - if (!wine_server_call_err( req )) - { - user_handles[index] = NULL; - ptr->dwMagic = 0; - } - else - ptr = NULL; + if (!wine_server_call_err( req )) user_handles[index] = NULL; + else ptr = NULL; } SERVER_END_REQ; - } - USER_Unlock(); - HeapFree( GetProcessHeap(), 0, ptr ); - return ptr; + release_user_handle_ptr( ptr ); + HeapFree( GetProcessHeap(), 0, ptr ); + } } @@ -408,22 +483,12 @@ */ WND *WIN_GetPtr( HWND hwnd ) { - WND * ptr; - WORD index = USER_HANDLE_TO_INDEX(hwnd); - - if (index >= NB_USER_HANDLES) return NULL; - - USER_Lock(); - if ((ptr = user_handles[index])) - { - if (ptr->dwMagic == WND_MAGIC && - (hwnd == ptr->hwndSelf || !HIWORD(hwnd) || HIWORD(hwnd) == 0xffff)) - return ptr; - ptr = NULL; - } - else if (is_desktop_window( hwnd )) ptr = WND_DESKTOP; - else ptr = WND_OTHER_PROCESS; - USER_Unlock(); + WND *ptr; + + if ((ptr = get_user_handle_ptr( hwnd, USER_WINDOW )) == WND_OTHER_PROCESS) + { + if (is_desktop_window( hwnd )) ptr = WND_DESKTOP; + } return ptr; } @@ -439,7 +504,7 @@ HWND ret; if (!(ptr = WIN_GetPtr( hwnd )) || ptr == WND_OTHER_PROCESS || ptr == WND_DESKTOP) return 0; - ret = ptr->hwndSelf; + ret = ptr->obj.handle; WIN_ReleasePtr( ptr ); return ret; } @@ -456,7 +521,7 @@ HWND ret = 0; if (!(ptr = WIN_GetPtr( hwnd )) || ptr == WND_OTHER_PROCESS || ptr == WND_DESKTOP) return 0; - if (ptr->tid == GetCurrentThreadId()) ret = ptr->hwndSelf; + if (ptr->tid == GetCurrentThreadId()) ret = ptr->obj.handle; WIN_ReleasePtr( ptr ); return ret; } @@ -486,7 +551,7 @@ if (ptr != WND_OTHER_PROCESS) { - hwnd = ptr->hwndSelf; + hwnd = ptr->obj.handle; WIN_ReleasePtr( ptr ); } else /* may belong to another process */ @@ -593,7 +658,11 @@ WND *win = WIN_GetPtr( hwnd ); BOOL ret = TRUE; - if (!win) return FALSE; + if (!win) + { + SetLastError( ERROR_INVALID_WINDOW_HANDLE ); + return FALSE; + } if (win == WND_DESKTOP) { RECT rect; @@ -616,7 +685,7 @@ SERVER_START_REQ( get_window_rectangles ) { req->handle = wine_server_user_handle( hwnd ); - if ((ret = !wine_server_call( req ))) + if ((ret = !wine_server_call_err( req ))) { if (rectWindow) { @@ -697,6 +766,8 @@ free_dce( wndPtr->dce, hwnd ); wndPtr->dce = NULL; icon_title = wndPtr->icon_title; + HeapFree(GetProcessHeap(), 0, wndPtr->pScroll); + wndPtr->pScroll = NULL; WIN_ReleasePtr( wndPtr ); if (icon_title) DestroyWindow( icon_title ); @@ -746,7 +817,6 @@ sys_menu = wndPtr->hSysMenu; free_dce( wndPtr->dce, hwnd ); user_handles[index] = NULL; - wndPtr->dwMagic = 0; } USER_Unlock(); @@ -1133,7 +1203,7 @@ if (!(wndPtr = create_window_handle( parent, owner, className, cs->hInstance, unicode ))) return 0; - hwnd = wndPtr->hwndSelf; + hwnd = wndPtr->obj.handle; /* Fill the window structure */ @@ -3080,6 +3150,7 @@ { HWND *list; int i; + BOOL ret = TRUE; USER_CheckNotLock(); @@ -3088,9 +3159,9 @@ /* Now call the callback function for every window */ for (i = 0; list[i]; i++) - if (!func( list[i], lParam )) break; + if (!(ret = func( list[i], lParam ))) break; HeapFree( GetProcessHeap(), 0, list ); - return TRUE; + return ret; } @@ -3221,7 +3292,7 @@ wndPtr = WIN_GetPtr(hWnd); if (!wndPtr || wndPtr == WND_OTHER_PROCESS || wndPtr == WND_DESKTOP) return FALSE; - hWnd = wndPtr->hwndSelf; /* make it a full handle */ + hWnd = wndPtr->obj.handle; /* make it a full handle */ if (bInvert) wparam = !(wndPtr->flags & WIN_NCACTIVATED); else wparam = (hWnd == GetForegroundWindow()); Modified: branches/arwinss/reactos/dll/win32/user32/win.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/win.h [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/win.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -28,20 +28,19 @@ #include <winuser.h> #include <wine/windef16.h> -#define WND_MAGIC 0x444e4957 /* 'WIND' */ +#include "user_private.h" struct tagCLASS; struct tagDIALOGINFO; typedef struct tagWND { - HWND hwndSelf; /* Handle of this window */ + struct user_object obj; /* object header */ HWND parent; /* Window parent */ HWND owner; /* Window owner */ struct tagCLASS *class; /* Window class */ struct dce *dce; /* DCE pointer */ WNDPROC winproc; /* Window procedure */ - DWORD dwMagic; /* Magic number (must be WND_MAGIC) */ DWORD tid; /* Owner thread id */ HINSTANCE hInstance; /* Window hInstance (from CreateWindow) */ RECT rectClient; /* Client area rel. to parent client area */ Modified: branches/arwinss/reactos/dll/win32/user32/winpos.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/user3…
============================================================================== --- branches/arwinss/reactos/dll/win32/user32/winpos.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/user32/winpos.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -69,17 +69,13 @@ #define PLACE_MAX 0x0002 #define PLACE_RECT 0x0004 - -#define DWP_MAGIC ((INT)('W' | ('P' << 8) | ('O' << 16) | ('S' << 24))) - typedef struct { + struct user_object obj; INT actualCount; INT suggestedCount; - BOOL valid; - INT wMagic; HWND hwndParent; - WINDOWPOS winPos[1]; + WINDOWPOS *winPos; } DWP; @@ -1795,7 +1791,7 @@ SetLastError( ERROR_INVALID_WINDOW_HANDLE ); return FALSE; } - winpos->hwnd = wndPtr->hwndSelf; /* make it a full handle */ + winpos->hwnd = wndPtr->obj.handle; /* make it a full handle */ /* Finally make sure that all coordinates are valid */ if (winpos->x < -32768) winpos->x = -32768; @@ -2074,7 +2070,7 @@ */ HDWP WINAPI BeginDeferWindowPos( INT count ) { - HDWP handle; + HDWP handle = 0; DWP *pDWP; TRACE("%d\n", count); @@ -2087,14 +2083,18 @@ /* Windows allows zero count, in which case it allocates context for 8 moves */ if (count == 0) count = 8; - handle = USER_HEAP_ALLOC( sizeof(DWP) + (count-1)*sizeof(WINDOWPOS) ); - if (!handle) return 0; - pDWP = USER_HEAP_LIN_ADDR( handle ); + if (!(pDWP = HeapAlloc( GetProcessHeap(), 0, sizeof(DWP)))) return 0; + pDWP->actualCount = 0; pDWP->suggestedCount = count; - pDWP->valid = TRUE; - pDWP->wMagic = DWP_MAGIC; pDWP->hwndParent = 0; + + if (!(pDWP->winPos = HeapAlloc( GetProcessHeap(), 0, count * sizeof(WINDOWPOS) )) || + !(handle = alloc_user_handle( &pDWP->obj, USER_DWP ))) + { + HeapFree( GetProcessHeap(), 0, pDWP->winPos ); + HeapFree( GetProcessHeap(), 0, pDWP ); + } TRACE("returning hdwp %p\n", handle); return handle; @@ -2110,7 +2110,7 @@ { DWP *pDWP; int i; - HDWP newhdwp = hdwp,retvalue; + HDWP retvalue = hdwp; TRACE("hdwp %p, hwnd %p, after %p, %d,%d (%dx%d), flags %08x\n", hdwp, hwnd, hwndAfter, x, y, cx, cy, flags); @@ -2118,9 +2118,12 @@ hwnd = WIN_GetFullHandle( hwnd ); if (is_desktop_window( hwnd )) return 0; - if (!(pDWP = USER_HEAP_LIN_ADDR( hdwp ))) return 0; - - USER_Lock(); + if (!(pDWP = get_user_handle_ptr( hdwp, USER_DWP ))) return 0; + if (pDWP == OBJ_OTHER_PROCESS) + { + FIXME( "other process handle %p?\n", hdwp ); + return 0; + } for (i = 0; i < pDWP->actualCount; i++) { @@ -2147,21 +2150,20 @@ SWP_NOOWNERZORDER); pDWP->winPos[i].flags |= flags & (SWP_SHOWWINDOW | SWP_HIDEWINDOW | SWP_FRAMECHANGED); - retvalue = hdwp; goto END; } } if (pDWP->actualCount >= pDWP->suggestedCount) { - newhdwp = USER_HEAP_REALLOC( hdwp, - sizeof(DWP) + pDWP->suggestedCount*sizeof(WINDOWPOS) ); - if (!newhdwp) + WINDOWPOS *newpos = HeapReAlloc( GetProcessHeap(), 0, pDWP->winPos, + pDWP->suggestedCount * 2 * sizeof(WINDOWPOS) ); + if (!newpos) { retvalue = 0; goto END; } - pDWP = USER_HEAP_LIN_ADDR( newhdwp ); - pDWP->suggestedCount++; + pDWP->suggestedCount *= 2; + pDWP->winPos = newpos; } pDWP->winPos[pDWP->actualCount].hwnd = hwnd; pDWP->winPos[pDWP->actualCount].hwndInsertAfter = hwndAfter; @@ -2171,9 +2173,8 @@ pDWP->winPos[pDWP->actualCount].cy = cy; pDWP->winPos[pDWP->actualCount].flags = flags; pDWP->actualCount++; - retvalue = newhdwp; END: - USER_Unlock(); + release_user_handle_ptr( pDWP ); return retvalue; } @@ -2190,8 +2191,13 @@ TRACE("%p\n", hdwp); - pDWP = USER_HEAP_LIN_ADDR( hdwp ); - if (!pDWP) return FALSE; + if (!(pDWP = free_user_handle( hdwp, USER_DWP ))) return FALSE; + if (pDWP == OBJ_OTHER_PROCESS) + { + FIXME( "other process handle %p?\n", hdwp ); + return FALSE; + } + for (i = 0, winpos = pDWP->winPos; res && i < pDWP->actualCount; i++, winpos++) { TRACE("hwnd %p, after %p, %d,%d (%dx%d), flags %08x\n", @@ -2203,7 +2209,8 @@ else res = SendMessageW( winpos->hwnd, WM_WINE_SETWINDOWPOS, 0, (LPARAM)winpos ); } - USER_HEAP_FREE( hdwp ); + HeapFree( GetProcessHeap(), 0, pDWP->winPos ); + HeapFree( GetProcessHeap(), 0, pDWP ); return res; } Propchange: branches/arwinss/reactos/dll/win32/winex11.drv/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,3 +1,3 @@ /branches/ros-amd64-bringup/reactos/dll/win32/winex11.drv:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 /trunk/reactos/dll/win32/winex11.drv:42000-43670 -/vendor/wine/dlls/winex11.drv/current:43149,43398 +/vendor/wine/dlls/winex11.drv/current:43149,43398,43708 Modified: branches/arwinss/reactos/dll/win32/winex11.drv/event.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/event.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/event.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -464,6 +464,7 @@ if (!(style & WS_VISIBLE)) return FALSE; if ((style & (WS_POPUP|WS_CHILD)) == WS_CHILD) return FALSE; if (style & WS_MINIMIZE) return FALSE; + if (GetWindowLongW( hwnd, GWL_EXSTYLE ) & WS_EX_NOACTIVATE) return FALSE; if (hwnd == GetDesktopWindow()) return FALSE; return !(style & WS_DISABLED); } Modified: branches/arwinss/reactos/dll/win32/winex11.drv/graphics.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/graphics.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/graphics.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -166,6 +166,9 @@ XSetClipRectangles( gdi_display, physDev->gc, physDev->dc_rect.left, physDev->dc_rect.top, (XRectangle *)data->Buffer, data->rdh.nCount, YXBanded ); wine_tsx11_unlock(); + + if (physDev->xrender) X11DRV_XRender_SetDeviceClipping(physDev, data); + HeapFree( GetProcessHeap(), 0, data ); } Modified: branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/keyboard.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -1198,9 +1198,10 @@ if (event_flags & KEYEVENTF_KEYUP) { message = WM_KEYUP; - if ((key_state_table[VK_MENU] & 0x80) && - ((wVkStripped == VK_MENU) || (wVkStripped == VK_CONTROL) - || !(key_state_table[VK_CONTROL] & 0x80))) + if (((key_state_table[VK_MENU] & 0x80) && + ((wVkStripped == VK_MENU) || (wVkStripped == VK_CONTROL) + || !(key_state_table[VK_CONTROL] & 0x80))) + || (wVkStripped == VK_F10)) { if( TrackSysKey == VK_MENU || /* <ALT>-down/<ALT>-up sequence */ (wVkStripped != VK_MENU)) /* <ALT>-down...<something else>-up */ @@ -1212,8 +1213,9 @@ else { message = WM_KEYDOWN; - if ((key_state_table[VK_MENU] & 0x80 || wVkStripped == VK_MENU) && - !(key_state_table[VK_CONTROL] & 0x80 || wVkStripped == VK_CONTROL)) + if (((key_state_table[VK_MENU] & 0x80 || wVkStripped == VK_MENU) && + !(key_state_table[VK_CONTROL] & 0x80 || wVkStripped == VK_CONTROL)) || + (wVkStripped == VK_F10)) { message = WM_SYSKEYDOWN; TrackSysKey = wVkStripped; Modified: branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/opengl.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -906,7 +906,10 @@ * with a depth of 32 in addition to the default 24 bit. In order to prevent BadMatch errors we only * list formats with the same depth. */ if(visinfo->depth != screen_depth) + { + XFree(visinfo); continue; + } TRACE("Found onscreen format FBCONFIG_ID 0x%x corresponding to iPixelFormat %d at GLX index %d\n", fmt_id, size+1, i); list[size].iPixelFormat = size+1; /* The index starts at 1 */ @@ -931,8 +934,6 @@ size++; onscreen_size++; } - - XFree(visinfo); } else if(run && !visinfo) { TRACE("Found offscreen format FBCONFIG_ID 0x%x corresponding to iPixelFormat %d at GLX index %d\n", fmt_id, size+1, i); list[size].iPixelFormat = size+1; /* The index starts at 1 */ @@ -943,6 +944,8 @@ list[size].dwFlags = 0; size++; } + + if (visinfo) XFree(visinfo); } } Modified: branches/arwinss/reactos/dll/win32/winex11.drv/x11drv.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/x11drv.h [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/x11drv.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -281,6 +281,7 @@ extern void X11DRV_XRender_Init(void); extern void X11DRV_XRender_Finalize(void); extern BOOL X11DRV_XRender_SelectFont(X11DRV_PDEVICE*, HFONT); +extern void X11DRV_XRender_SetDeviceClipping(X11DRV_PDEVICE *physDev, const RGNDATA *data); extern void X11DRV_XRender_DeleteDC(X11DRV_PDEVICE*); extern void X11DRV_XRender_CopyBrush(X11DRV_PDEVICE *physDev, X_PHYSBITMAP *physBitmap, int width, int height); extern BOOL X11DRV_XRender_ExtTextOut(X11DRV_PDEVICE *physDev, INT x, INT y, UINT flags, Modified: branches/arwinss/reactos/dll/win32/winex11.drv/xrender.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winex…
============================================================================== --- branches/arwinss/reactos/dll/win32/winex11.drv/xrender.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winex11.drv/xrender.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -124,7 +124,7 @@ typedef struct { GlyphSet glyphset; - WineXRenderFormat *font_format; + const WineXRenderFormat *font_format; int nrealized; BOOL *realized; void **bitmaps; @@ -144,8 +144,9 @@ { int cache_index; Picture pict; + Picture pict_src; + const WineXRenderFormat *format; }; - static gsCacheEntry *glyphsetCache = NULL; static DWORD glyphsetCacheSize = 0; @@ -206,23 +207,6 @@ #define get_be_word(x) RtlUshortByteSwap(x) #define NATIVE_BYTE_ORDER LSBFirst #endif - -static struct xrender_info *get_xrender_info(X11DRV_PDEVICE *physDev) -{ - if(!physDev->xrender) - { - physDev->xrender = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*physDev->xrender)); - - if(!physDev->xrender) - { - ERR("Unable to allocate XRENDERINFO!\n"); - return NULL; - } - physDev->xrender->cache_index = -1; - } - - return physDev->xrender; -} static BOOL get_xrender_template(const WineXRenderFormatTemplate *fmt, XRenderPictFormat *templ, unsigned long *mask) { @@ -409,7 +393,7 @@ } /* Helper function to convert from a color packed in a 32-bit integer to a XRenderColor */ -static void get_xrender_color(WineXRenderFormat *wxr_format, int src_color, XRenderColor *dst_color) +static void get_xrender_color(const WineXRenderFormat *wxr_format, int src_color, XRenderColor *dst_color) { XRenderPictFormat *pf = wxr_format->pict_format; @@ -431,7 +415,7 @@ dst_color->alpha = 0xffff; } -static WineXRenderFormat *get_xrender_format(WXRFormat format) +static const WineXRenderFormat *get_xrender_format(WXRFormat format) { int i; for(i=0; i<WineXRenderFormatsListSize; i++) @@ -445,7 +429,7 @@ return NULL; } -static WineXRenderFormat *get_xrender_format_from_color_shifts(int depth, ColorShifts *shifts) +static const WineXRenderFormat *get_xrender_format_from_color_shifts(int depth, ColorShifts *shifts) { int redMask, greenMask, blueMask; unsigned int i; @@ -480,6 +464,86 @@ /* This should not happen because when we reach 'shifts' must have been set and we only allows shifts which are backed by X */ ERR("No XRender format found!\n"); return NULL; +} + +/* Set the x/y scaling and x/y offsets in the transformation matrix of the source picture */ +static void set_xrender_transformation(Picture src_pict, float xscale, float yscale, int xoffset, int yoffset) +{ +#ifdef HAVE_XRENDERSETPICTURETRANSFORM + XTransform xform = {{ + { XDoubleToFixed(xscale), XDoubleToFixed(0), XDoubleToFixed(xoffset) }, + { XDoubleToFixed(0), XDoubleToFixed(yscale), XDoubleToFixed(yoffset) }, + { XDoubleToFixed(0), XDoubleToFixed(0), XDoubleToFixed(1) } + }}; + + pXRenderSetPictureTransform(gdi_display, src_pict, &xform); +#endif +} + +static struct xrender_info *get_xrender_info(X11DRV_PDEVICE *physDev) +{ + if(!physDev->xrender) + { + physDev->xrender = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*physDev->xrender)); + + if(!physDev->xrender) + { + ERR("Unable to allocate XRENDERINFO!\n"); + return NULL; + } + physDev->xrender->cache_index = -1; + } + if (!physDev->xrender->format) + physDev->xrender->format = get_xrender_format_from_color_shifts(physDev->depth, physDev->color_shifts); + + return physDev->xrender; +} + +static Picture get_xrender_picture(X11DRV_PDEVICE *physDev) +{ + struct xrender_info *info = get_xrender_info(physDev); + if (!info) return 0; + + if (!info->pict && info->format) + { + XRenderPictureAttributes pa; + RGNDATA *clip = X11DRV_GetRegionData( physDev->region, 0 ); + + wine_tsx11_lock(); + pa.subwindow_mode = IncludeInferiors; + info->pict = pXRenderCreatePicture(gdi_display, physDev->drawable, info->format->pict_format, + CPSubwindowMode, &pa); + if (info->pict && clip) + pXRenderSetPictureClipRectangles( gdi_display, info->pict, + physDev->dc_rect.left, physDev->dc_rect.top, + (XRectangle *)clip->Buffer, clip->rdh.nCount ); + wine_tsx11_unlock(); + TRACE("Allocing pict=%lx dc=%p drawable=%08lx\n", info->pict, physDev->hdc, physDev->drawable); + HeapFree( GetProcessHeap(), 0, clip ); + } + + return info->pict; +} + +static Picture get_xrender_picture_source(X11DRV_PDEVICE *physDev) +{ + struct xrender_info *info = get_xrender_info(physDev); + if (!info) return 0; + + if (!info->pict_src && info->format) + { + XRenderPictureAttributes pa; + + wine_tsx11_lock(); + pa.subwindow_mode = IncludeInferiors; + info->pict_src = pXRenderCreatePicture(gdi_display, physDev->drawable, info->format->pict_format, + CPSubwindowMode, &pa); + wine_tsx11_unlock(); + + TRACE("Allocing pict_src=%lx dc=%p drawable=%08lx\n", info->pict_src, physDev->hdc, physDev->drawable); + } + + return info->pict_src; } static BOOL fontcmp(LFANDSIZE *p1, LFANDSIZE *p2) @@ -836,6 +900,21 @@ } /*********************************************************************** +* X11DRV_XRender_SetDeviceClipping +*/ +void X11DRV_XRender_SetDeviceClipping(X11DRV_PDEVICE *physDev, const RGNDATA *data) +{ + if (physDev->xrender->pict) + { + wine_tsx11_lock(); + pXRenderSetPictureClipRectangles( gdi_display, physDev->xrender->pict, + physDev->dc_rect.left, physDev->dc_rect.top, + (XRectangle *)data->Buffer, data->rdh.nCount ); + wine_tsx11_unlock(); + } +} + +/*********************************************************************** * X11DRV_XRender_DeleteDC */ void X11DRV_XRender_DeleteDC(X11DRV_PDEVICE *physDev) @@ -854,7 +933,7 @@ BOOL X11DRV_XRender_SetPhysBitmapDepth(X_PHYSBITMAP *physBitmap, const DIBSECTION *dib) { - WineXRenderFormat *fmt; + const WineXRenderFormat *fmt; ColorShifts shifts; /* When XRender is not around we can only use the screen_depth and when needed we perform depth conversion @@ -886,18 +965,28 @@ */ void X11DRV_XRender_UpdateDrawable(X11DRV_PDEVICE *physDev) { - wine_tsx11_lock(); - - if(physDev->xrender->pict) - { - TRACE("freeing pict = %lx dc = %p\n", physDev->xrender->pict, physDev->hdc); - XFlush(gdi_display); - pXRenderFreePicture(gdi_display, physDev->xrender->pict); - physDev->xrender->pict = 0; - } - wine_tsx11_unlock(); - - return; + struct xrender_info *info = physDev->xrender; + + if (info->pict || info->pict_src) + { + wine_tsx11_lock(); + XFlush( gdi_display ); + if (info->pict) + { + TRACE("freeing pict = %lx dc = %p\n", info->pict, physDev->hdc); + pXRenderFreePicture(gdi_display, info->pict); + info->pict = 0; + } + if(info->pict_src) + { + TRACE("freeing pict = %lx dc = %p\n", info->pict_src, physDev->hdc); + pXRenderFreePicture(gdi_display, info->pict_src); + info->pict_src = 0; + } + wine_tsx11_unlock(); + } + + info->format = NULL; } /************************************************************************ @@ -1369,7 +1458,7 @@ * Returns an appropriate Picture for tiling the text colour. * Call and use result within the xrender_cs */ -static Picture get_tile_pict(WineXRenderFormat *wxr_format, int text_pixel) +static Picture get_tile_pict(const WineXRenderFormat *wxr_format, int text_pixel) { static struct { @@ -1429,12 +1518,10 @@ const RECT *lprect, LPCWSTR wstr, UINT count, const INT *lpDx ) { - RGNDATA *data; XGCValues xgcval; gsCacheEntry *entry; gsCacheEntryFormat *formatEntry; BOOL retv = FALSE; - HDC hdc = physDev->hdc; int textPixel, backgroundPixel; HRGN saved_region = 0; BOOL disable_antialias = FALSE; @@ -1443,7 +1530,7 @@ unsigned int idx; double cosEsc, sinEsc; LOGFONTW lf; - WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDev->depth, physDev->color_shifts); + const WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDev->depth, physDev->color_shifts); Picture tile_pict = 0; /* Do we need to disable antialiasing because of palette mode? */ @@ -1515,35 +1602,6 @@ DeleteObject( clip_region ); } - if(X11DRV_XRender_Installed) { - if(!physDev->xrender->pict) { - XRenderPictureAttributes pa; - pa.subwindow_mode = IncludeInferiors; - - wine_tsx11_lock(); - physDev->xrender->pict = pXRenderCreatePicture(gdi_display, - physDev->drawable, dst_format->pict_format, - CPSubwindowMode, &pa); - wine_tsx11_unlock(); - - TRACE("allocing pict = %lx dc = %p drawable = %08lx\n", - physDev->xrender->pict, hdc, physDev->drawable); - } else { - TRACE("using existing pict = %lx dc = %p drawable = %08lx\n", - physDev->xrender->pict, hdc, physDev->drawable); - } - - if ((data = X11DRV_GetRegionData( physDev->region, 0 ))) - { - wine_tsx11_lock(); - pXRenderSetPictureClipRectangles( gdi_display, physDev->xrender->pict, - physDev->dc_rect.left, physDev->dc_rect.top, - (XRectangle *)data->Buffer, data->rdh.nCount ); - wine_tsx11_unlock(); - HeapFree( GetProcessHeap(), 0, data ); - } - } - EnterCriticalSection(&xrender_cs); entry = glyphsetCache + physDev->xrender->cache_index; @@ -1578,6 +1636,7 @@ INT offset = 0; POINT desired, current; int render_op = PictOpOver; + Picture pict = get_xrender_picture(physDev); /* There's a bug in XRenderCompositeText that ignores the xDst and yDst parameters. So we pass zeros to the function and move to our starting position using the first @@ -1618,9 +1677,11 @@ } } wine_tsx11_lock(); + /* Make sure we don't have any transforms set from a previous call */ + set_xrender_transformation(pict, 1, 1, 0, 0); pXRenderCompositeText16(gdi_display, render_op, tile_pict, - physDev->xrender->pict, + pict, formatEntry->font_format->pict_format, 0, 0, 0, 0, elts, count); wine_tsx11_unlock(); @@ -1781,20 +1842,6 @@ return retv; } -/* Set the x/y scaling and x/y offsets in the transformation matrix of the source picture */ -static void set_xrender_transformation(Picture src_pict, float xscale, float yscale, int xoffset, int yoffset) -{ -#ifdef HAVE_XRENDERSETPICTURETRANSFORM - XTransform xform = {{ - { XDoubleToFixed(xscale), XDoubleToFixed(0), XDoubleToFixed(xoffset) }, - { XDoubleToFixed(0), XDoubleToFixed(yscale), XDoubleToFixed(yoffset) }, - { XDoubleToFixed(0), XDoubleToFixed(0), XDoubleToFixed(1) } - }}; - - pXRenderSetPictureTransform(gdi_display, src_pict, &xform); -#endif -} - /* Helper function for (stretched) blitting using xrender */ static void xrender_blit(Picture src_pict, Picture mask_pict, Picture dst_pict, int x_src, int y_src, float xscale, float yscale, int width, int height) { @@ -1848,9 +1895,7 @@ int y, y2; POINT pts[2]; BOOL top_down = FALSE; - RGNDATA *rgndata; - WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(devDst->depth, devDst->color_shifts); - WineXRenderFormat *src_format; + const WineXRenderFormat *src_format; int repeat_src; if(!X11DRV_XRender_Installed) { @@ -1961,7 +2006,7 @@ } - rgndata = X11DRV_GetRegionData( devDst->region, 0 ); + dst_pict = get_xrender_picture(devDst); wine_tsx11_lock(); image = XCreateImage(gdi_display, visual, 32, ZPixmap, 0, @@ -1975,15 +2020,6 @@ return FALSE; } - pa.subwindow_mode = IncludeInferiors; - pa.repeat = repeat_src ? RepeatNormal : RepeatNone; - - /* FIXME use devDst->xrender->pict ? */ - dst_pict = pXRenderCreatePicture(gdi_display, - devDst->drawable, - dst_format->pict_format, - CPSubwindowMode, &pa); - TRACE("dst_pict %08lx\n", dst_pict); TRACE("src_drawable = %08lx\n", devSrc->drawable); xpm = XCreatePixmap(gdi_display, root_window, @@ -1993,19 +2029,12 @@ TRACE("xpm = %08lx\n", xpm); XPutImage(gdi_display, xpm, gc, image, 0, 0, 0, 0, widthSrc, heightSrc); + pa.subwindow_mode = IncludeInferiors; + pa.repeat = repeat_src ? RepeatNormal : RepeatNone; src_pict = pXRenderCreatePicture(gdi_display, xpm, src_format->pict_format, CPSubwindowMode|CPRepeat, &pa); TRACE("src_pict %08lx\n", src_pict); - - if (rgndata) - { - pXRenderSetPictureClipRectangles( gdi_display, dst_pict, - devDst->dc_rect.left, devDst->dc_rect.top, - (XRectangle *)rgndata->Buffer, - rgndata->rdh.nCount ); - HeapFree( GetProcessHeap(), 0, rgndata ); - } /* Make sure we ALWAYS set the transformation matrix even if we don't need to scale. The reason is * that later on we want to reuse pictures (it can bring a lot of extra performance) and each time @@ -2022,7 +2051,6 @@ pXRenderFreePicture(gdi_display, src_pict); XFreePixmap(gdi_display, xpm); XFreeGC(gdi_display, gc); - pXRenderFreePicture(gdi_display, dst_pict); image->data = NULL; XDestroyImage(image); @@ -2047,8 +2075,8 @@ } else /* We meed depth conversion */ { - WineXRenderFormat *src_format = get_xrender_format_from_color_shifts(physBitmap->pixmap_depth, &physBitmap->pixmap_color_shifts); - WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDev->depth, physDev->color_shifts); + const WineXRenderFormat *src_format = get_xrender_format_from_color_shifts(physBitmap->pixmap_depth, &physBitmap->pixmap_color_shifts); + const WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDev->depth, physDev->color_shifts); Picture src_pict, dst_pict; XRenderPictureAttributes pa; @@ -2076,8 +2104,7 @@ int height = visRectDst->bottom - visRectDst->top; int x_src = physDevSrc->dc_rect.left + visRectSrc->left; int y_src = physDevSrc->dc_rect.top + visRectSrc->top; - WineXRenderFormat *src_format = get_xrender_format_from_color_shifts(physDevSrc->depth, physDevSrc->color_shifts); - WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDevDst->depth, physDevDst->color_shifts); + const WineXRenderFormat *dst_format = get_xrender_format_from_color_shifts(physDevDst->depth, physDevDst->color_shifts); Picture src_pict=0, dst_pict=0, mask_pict=0; double xscale = widthSrc/(double)widthDst; @@ -2121,36 +2148,34 @@ get_xrender_color(dst_format, physDevDst->textPixel, &col); /* We use the source drawable as a mask */ + mask_pict = get_xrender_picture_source(physDevSrc); + + /* Use backgroundPixel as the foreground color */ + EnterCriticalSection( &xrender_cs ); + src_pict = get_tile_pict(dst_format, physDevDst->backgroundPixel); + + /* Create a destination picture and fill it with textPixel color as the background color */ wine_tsx11_lock(); - mask_pict = pXRenderCreatePicture(gdi_display, physDevSrc->drawable, src_format->pict_format, CPSubwindowMode|CPRepeat, &pa); - - /* Use backgroundPixel as the foreground color */ - src_pict = get_tile_pict(dst_format, physDevDst->backgroundPixel); - - /* Create a destination picture and fill it with textPixel color as the background color */ dst_pict = pXRenderCreatePicture(gdi_display, pixmap, dst_format->pict_format, CPSubwindowMode|CPRepeat, &pa); pXRenderFillRectangle(gdi_display, PictOpSrc, dst_pict, &col, 0, 0, width, height); xrender_blit(src_pict, mask_pict, dst_pict, x_src, y_src, xscale, yscale, width, height); if(dst_pict) pXRenderFreePicture(gdi_display, dst_pict); - if(mask_pict) pXRenderFreePicture(gdi_display, mask_pict); wine_tsx11_unlock(); + LeaveCriticalSection( &xrender_cs ); } else /* color -> color but with different depths */ { + src_pict = get_xrender_picture_source(physDevSrc); + wine_tsx11_lock(); - src_pict = pXRenderCreatePicture(gdi_display, - physDevSrc->drawable, src_format->pict_format, - CPSubwindowMode|CPRepeat, &pa); - dst_pict = pXRenderCreatePicture(gdi_display, pixmap, dst_format->pict_format, CPSubwindowMode|CPRepeat, &pa); xrender_blit(src_pict, 0, dst_pict, x_src, y_src, xscale, yscale, width, height); - if(src_pict) pXRenderFreePicture(gdi_display, src_pict); if(dst_pict) pXRenderFreePicture(gdi_display, dst_pict); wine_tsx11_unlock(); } @@ -2179,6 +2204,12 @@ { assert(0); return; +} + +void X11DRV_XRender_SetDeviceClipping(X11DRV_PDEVICE *physDev, const RGNDATA *data) +{ + assert(0); + return; } BOOL X11DRV_XRender_ExtTextOut( X11DRV_PDEVICE *physDev, INT x, INT y, UINT flags, Modified: branches/arwinss/reactos/include/reactos/wine/config.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/reactos…
============================================================================== --- branches/arwinss/reactos/include/reactos/wine/config.h [iso-8859-1] (original) +++ branches/arwinss/reactos/include/reactos/wine/config.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -4,6 +4,9 @@ #include "reactos/buildno.h" #define __WINE_CONFIG_H + +/* Define to a function attribute for Microsoft hotpatch assembly prefix. */ +#define DECLSPEC_HOTPATCH /* Specifies the compiler flag that forces a short wchar_t */ #define CC_FLAG_SHORT_WCHAR "-fshort-wchar" Modified: branches/arwinss/reactos/include/reactos/wine/server_protocol.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/include/reactos…
============================================================================== --- branches/arwinss/reactos/include/reactos/wine/server_protocol.h [iso-8859-1] (original) +++ branches/arwinss/reactos/include/reactos/wine/server_protocol.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -112,8 +112,8 @@ struct { int code; + data_size_t length; client_ptr_t string; - data_size_t length; } output_string; struct { @@ -4606,6 +4606,31 @@ char __pad_28[4]; }; struct set_window_layered_info_reply +{ + struct reply_header __header; +}; + + + +struct alloc_user_handle_request +{ + struct request_header __header; +}; +struct alloc_user_handle_reply +{ + struct reply_header __header; + user_handle_t handle; + char __pad_12[4]; +}; + + + +struct free_user_handle_request +{ + struct request_header __header; + user_handle_t handle; +}; +struct free_user_handle_reply { struct reply_header __header; }; @@ -4851,6 +4876,8 @@ REQ_add_fd_completion, REQ_get_window_layered_info, REQ_set_window_layered_info, + REQ_alloc_user_handle, + REQ_free_user_handle, REQ_NB_REQUESTS }; @@ -5096,6 +5123,8 @@ struct add_fd_completion_request add_fd_completion_request; struct get_window_layered_info_request get_window_layered_info_request; struct set_window_layered_info_request set_window_layered_info_request; + struct alloc_user_handle_request alloc_user_handle_request; + struct free_user_handle_request free_user_handle_request; }; union generic_reply { @@ -5339,8 +5368,10 @@ struct add_fd_completion_reply add_fd_completion_reply; struct get_window_layered_info_reply get_window_layered_info_reply; struct set_window_layered_info_reply set_window_layered_info_reply; -}; - -#define SERVER_PROTOCOL_VERSION 391 + struct alloc_user_handle_reply alloc_user_handle_reply; + struct free_user_handle_reply free_user_handle_reply; +}; + +#define SERVER_PROTOCOL_VERSION 392 #endif /* __WINE_WINE_SERVER_PROTOCOL_H */ Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/request.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/request.h [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/request.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -310,6 +310,8 @@ DECL_HANDLER(add_fd_completion); DECL_HANDLER(get_window_layered_info); DECL_HANDLER(set_window_layered_info); +DECL_HANDLER(alloc_user_handle); +DECL_HANDLER(free_user_handle); #ifdef WANT_REQUEST_HANDLERS @@ -554,6 +556,8 @@ (req_handler)req_add_fd_completion, (req_handler)req_get_window_layered_info, (req_handler)req_set_window_layered_info, + (req_handler)req_alloc_user_handle, + (req_handler)req_free_user_handle, }; #if 0 @@ -1854,6 +1858,10 @@ C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, alpha) == 20 ); C_ASSERT( FIELD_OFFSET(struct set_window_layered_info_request, flags) == 24 ); C_ASSERT( sizeof(struct set_window_layered_info_request) == 32 ); +C_ASSERT( FIELD_OFFSET(struct alloc_user_handle_reply, handle) == 8 ); +C_ASSERT( sizeof(struct alloc_user_handle_reply) == 16 ); +C_ASSERT( FIELD_OFFSET(struct free_user_handle_request, handle) == 12 ); +C_ASSERT( sizeof(struct free_user_handle_request) == 16 ); #endif #endif /* WANT_REQUEST_HANDLERS */ Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/request.h ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,3 +1,3 @@ /branches/ros-amd64-bringup/reactos/subsystems/win32/win32k/include/request.h:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 /trunk/reactos/subsystems/win32/win32k/include/request.h:42000-43670 -/vendor/wine/server/current/request.h:43136,43398 +/vendor/wine/server/current/request.h:43136,43398,43708 Modified: branches/arwinss/reactos/subsystems/win32/win32k/include/user.h URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/include/user.h [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/include/user.h [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -36,7 +36,7 @@ { USER_WINDOW = 1, USER_HOOK, - USER_MONITOR + USER_CLIENT /* arbitrary client handle */ }; #define DESKTOP_ATOM ((atom_t)32769) @@ -72,6 +72,7 @@ extern user_handle_t get_user_full_handle( user_handle_t handle ); extern void *free_user_handle( user_handle_t handle ); extern void *next_user_handle( user_handle_t *handle, enum user_object type ); +extern void free_process_user_handles( PPROCESSINFO process ); /* clipboard functions */ Propchange: branches/arwinss/reactos/subsystems/win32/win32k/include/user.h ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,0 +1,3 @@ +/branches/ros-amd64-bringup/reactos/subsystems/win32/win32k/include/user.h:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 +/trunk/reactos/subsystems/win32/win32k/include/user.h:42000-43126 +/vendor/wine/server/current/user.h:43708 Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/monitor.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/main/monitor.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/main/monitor.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -61,7 +61,7 @@ } RtlZeroMemory(Monitor, sizeof (MONITOR)); - Monitor->Handle = (HANDLE)alloc_user_handle(Monitor, USER_MONITOR); + Monitor->Handle = (HANDLE)alloc_user_handle(Monitor, USER_CLIENT); ExInitializeFastMutex(&Monitor->Lock); @@ -99,7 +99,7 @@ return NULL; } - Monitor = (PMONITOR)get_user_object((user_handle_t)hMonitor, USER_MONITOR); + Monitor = (PMONITOR)get_user_object((user_handle_t)hMonitor, USER_CLIENT); if (!Monitor) { SetLastWin32Error(ERROR_INVALID_MONITOR_HANDLE); Propchange: branches/arwinss/reactos/subsystems/win32/win32k/wine/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Sat Oct 24 15:20:16 2009 @@ -1,0 +1,3 @@ +/branches/ros-amd64-bringup/reactos/subsystems/win32/win32k/wine:35746,35789,36614,36930,38148,38151,38265,38268,39333,39345,40991,41000,41027-41028,41050,41052,41082-41086,41549,43080 +/trunk/reactos/subsystems/win32/win32k/wine:42000-43126 +/vendor/wine/server/current:43708 Modified: branches/arwinss/reactos/subsystems/win32/win32k/wine/user.c URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
============================================================================== --- branches/arwinss/reactos/subsystems/win32/win32k/wine/user.c [iso-8859-1] (original) +++ branches/arwinss/reactos/subsystems/win32/win32k/wine/user.c [iso-8859-1] Sat Oct 24 15:20:16 2009 @@ -26,6 +26,7 @@ #include "request.h" #include "handle.h" #include "user.h" +#include "request.h" #define NDEBUG #include <debug.h> @@ -173,3 +174,31 @@ } return NULL; } + +/* free client-side user handles managed by the process */ +void free_process_user_handles( PPROCESSINFO process ) +{ + unsigned int i; + + for (i = 0; i < nb_handles; i++) + if (handles[i].type == USER_CLIENT && handles[i].ptr == process) + free_user_entry( &handles[i] ); +} + +/* allocate an arbitrary user handle */ +DECL_HANDLER(alloc_user_handle) +{ + reply->handle = alloc_user_handle( PsGetCurrentProcessWin32Process(), USER_CLIENT ); +} + + +/* free an arbitrary user handle */ +DECL_HANDLER(free_user_handle) +{ + struct user_handle *entry; + + if ((entry = handle_to_entry( req->handle )) && entry->type == USER_CLIENT) + free_user_entry( entry ); + else + set_error( STATUS_INVALID_HANDLE ); +}
15 years, 2 months
1
0
0
0
[dchapyshev] 43712: - Add runonce.exe to bootcd
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Sat Oct 24 15:15:38 2009 New Revision: 43712 URL:
http://svn.reactos.org/svn/reactos?rev=43712&view=rev
Log: - Add runonce.exe to bootcd Modified: trunk/reactos/boot/bootdata/packages/reactos.dff Modified: trunk/reactos/boot/bootdata/packages/reactos.dff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/packages/rea…
============================================================================== --- trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/packages/reactos.dff [iso-8859-1] Sat Oct 24 15:15:38 2009 @@ -115,6 +115,7 @@ base\system\msiexec\msiexec.exe 1 base\system\regsvr32\regsvr32.exe 1 base\system\rundll32\rundll32.exe 1 +base\system\runonce\runonce.exe 1 base\system\services\services.exe 1 base\system\userinit\userinit.exe 1 base\system\winlogon\winlogon.exe 1
15 years, 2 months
1
0
0
0
[dchapyshev] 43711: - Add some registry keys (like in Windows)
by dchapyshev@svn.reactos.org
Author: dchapyshev Date: Sat Oct 24 15:13:20 2009 New Revision: 43711 URL:
http://svn.reactos.org/svn/reactos?rev=43711&view=rev
Log: - Add some registry keys (like in Windows) Modified: trunk/reactos/boot/bootdata/hivedef_i386.inf trunk/reactos/boot/bootdata/hivesft_i386.inf trunk/reactos/boot/bootdata/hivesys_i386.inf Modified: trunk/reactos/boot/bootdata/hivedef_i386.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivedef_i386…
============================================================================== --- trunk/reactos/boot/bootdata/hivedef_i386.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivedef_i386.inf [iso-8859-1] Sat Oct 24 15:13:20 2009 @@ -3,9 +3,64 @@ [AddReg] +HKCU,"Console","CursorSize",0x00010003,25 +HKCU,"Console","FaceName",0x00000002,"" +HKCU,"Console","FontFamily",0x00010003,0 +HKCU,"Console","FontSize",0x00010003,0 +HKCU,"Console","FontWeight",0x00010003,0 +HKCU,"Console","FullScreen",0x00010003,0 +HKCU,"Console","HistoryBufferSize",0x00010003,50 +HKCU,"Console","InsertMode",0x00010003,1 +HKCU,"Console","LoadConIme",0x00010003,1 +HKCU,"Console","NumberOfHistoryBuffers",0x00010003,4 +HKCU,"Console","PopupColors",0x00010003,245 +HKCU,"Console","QuickEdit",0x00010003,0 +HKCU,"Console","ScreenBufferSize",0x00010003,19660880 +HKCU,"Console","ScreenColors",0x00010003,7 +HKCU,"Console","WindowSize",0x00010003,1638480 +HKCU,"Console","ColorTable00",0x00010003,0 +HKCU,"Console","ColorTable01",0x00010003,8388608 +HKCU,"Console","ColorTable02",0x00010003,32768 +HKCU,"Console","ColorTable03",0x00010003,8421376 +HKCU,"Console","ColorTable04",0x00010003,128 +HKCU,"Console","ColorTable05",0x00010003,8388736 +HKCU,"Console","ColorTable06",0x00010003,32896 +HKCU,"Console","ColorTable07",0x00010003,12632256 +HKCU,"Console","ColorTable08",0x00010003,8421504 +HKCU,"Console","ColorTable09",0x00010003,16711680 +HKCU,"Console","ColorTable10",0x00010003,65280 +HKCU,"Console","ColorTable11",0x00010003,16776960 +HKCU,"Console","ColorTable12",0x00010003,255 +HKCU,"Console","ColorTable13",0x00010003,16711935 +HKCU,"Console","ColorTable14",0x00010003,65535 +HKCU,"Console","ColorTable15",0x00010003,16777215 + HKCU,"Control Panel",,0x00000012 + +; Accessibility HKCU,"Control Panel\Accessibility",,0x00000012 -HKCU,"Control Panel\Appearance",,0x00000012 +HKCU,"Control Panel\Accessibility\Keyboard Preference",,0x00000012 +HKCU,"Control Panel\Accessibility\Keyboard Preference","On",2,"0" +HKCU,"Control Panel\Accessibility\HighContrast","Flags",2,"126" +HKCU,"Control Panel\Accessibility\HighContrast","High Contrast Scheme",2,"High Contrast Black (large)" +HKCU,"Control Panel\Accessibility\Keyboard Response","AutoRepeatDelay",2,"1000" +HKCU,"Control Panel\Accessibility\Keyboard Response","AutoRepeatRate",2,"500" +HKCU,"Control Panel\Accessibility\Keyboard Response","BounceTime",2,"0" +HKCU,"Control Panel\Accessibility\Keyboard Response","DelayBeforeAcceptance",2,"1000" +HKCU,"Control Panel\Accessibility\Keyboard Response","Flags",2,"126" +HKCU,"Control Panel\Accessibility\MouseKeys","Flags",2,"62" +HKCU,"Control Panel\Accessibility\MouseKeys","MaximumSpeed",2,"80" +HKCU,"Control Panel\Accessibility\MouseKeys","TimeToMaximumSpeed",2,"3000" +HKCU,"Control Panel\Accessibility\ShowSounds","On",2,"0" +HKCU,"Control Panel\Accessibility\SoundSentry","Flags",2,"2" +HKCU,"Control Panel\Accessibility\SoundSentry","FSTextEffect",2,"0" +HKCU,"Control Panel\Accessibility\SoundSentry","WindowsEffect",2,"1" +HKCU,"Control Panel\Accessibility\StickyKeys","Flags",2,"510" +HKCU,"Control Panel\Accessibility\TimeOut","Flags",2,"2" +HKCU,"Control Panel\Accessibility\TimeOut","TimeToWait",2,"300000" +HKCU,"Control Panel\Accessibility\ToggleKeys","Flags",2,"62" +HKCU,"Control Panel\Accessibility\Blind Access","On",2,"0" + HKCU,"Control Panel\Mouse","MouseTrails",0x00000002,"0" HKCU,"Control Panel\Mouse","SnapToDefaultButton",0x00000002,"0" HKCU,"Control Panel\Mouse","MouseSpeed",0x00000002,"1" @@ -20,21 +75,45 @@ HKCU,"Control Panel\Mouse","DoubleClickWidth",0x00000002,"4" HKCU,"Control Panel\Mouse","DoubleClickHeight",0x00000002,"4" -HKCU,"Control Panel\Desktop","AutoEndTasks",0x00000002,"0" -HKCU,"Control Panel\Desktop","CursorBlinkRate",0x00000002,"530" -HKCU,"Control Panel\Desktop","DragFullWindows",0x00000002,"0" +HKCU,"Control Panel\Keyboard","InitialKeyboardIndicators",2,"0x80000000" +HKCU,"Control Panel\Keyboard","KeyboardDelay",2,"1" +HKCU,"Control Panel\Keyboard","KeyboardSpeed",2,"31" + +HKCU,"Control Panel\Desktop","ActiveWndTrkTimeout",0x00010003,0x00000000 +HKCU,"Control Panel\Desktop","AutoEndTasks",2,"0" +HKCU,"Control Panel\Desktop","CaretWidth",0x00010003,0x00000001 +HKCU,"Control Panel\Desktop","CoolSwitch",2,"1" +HKCU,"Control Panel\Desktop","CoolSwitchColumns",2,"7" +HKCU,"Control Panel\Desktop","CoolSwitchRows",2,"3" +HKCU,"Control Panel\Desktop","CursorBlinkRate",2,"530" +HKCU,"Control Panel\Desktop","DragFullWindows",2,"0" +HKCU,"Control Panel\Desktop","DragHeight",0x00000000,"4" +HKCU,"Control Panel\Desktop","DragWidth",0x00000000,"4" HKCU,"Control Panel\Desktop","PaintDesktopVersion",0x00010001,"0" -HKCU,"Control Panel\Desktop","HungAppTimeout",0x00000002,"5000" -HKCU,"Control Panel\Desktop","SCRNSAVE.EXE",0x00000000,"" -HKCU,"Control Panel\Desktop","WaitToKillAppTimeout",0x00000002,"20000" +HKCU,"Control Panel\Desktop","HungAppTimeout",2,"5000" +HKCU,"Control Panel\Desktop","SCRNSAVE.EXE",0,"" +HKCU,"Control Panel\Desktop","ScreenSaveActive",2,"1" +HKCU,"Control Panel\Desktop","ScreenSaverIsSecure",2,"1" +HKCU,"Control Panel\Desktop","ScreenSaveTimeOut",0,"600" +HKCU,"Control Panel\Desktop","WaitToKillAppTimeout",2,"20000" HKCU,"Control Panel\Desktop","Wallpaper",0x00000000,"" HKCU,"Control Panel\Desktop","FontSmoothing",2,"0" +HKCU,"Control Panel\Desktop","FontSmoothingOrientation",0x00010003,0x00000001 +HKCU,"Control Panel\Desktop","FontSmoothingType",0x00010003,0x00000001 +HKCU,"Control Panel\Desktop","ForegroundFlashCount",0x00010003,0x00000003 +HKCU,"Control Panel\Desktop","ForegroundLockTimeout",0x00010003,0x00030d40 +HKCU,"Control Panel\Desktop","GridGranularity",2,"0" HKCU,"Control Panel\Desktop","SmoothScroll",3,00,00,00,00 HKCU,"Control Panel\Desktop","UserPreferencesMask",3,10,00,00,80 -HKCU,"Control Panel\Desktop","LowPowerActive",,"0" +HKCU,"Control Panel\Desktop","LowPowerActive",2,"0" +HKCU,"Control Panel\Desktop","LowPowerTimeOut",2,"0" +HKCU,"Control Panel\Desktop","PowerOffActive",2,"0" +HKCU,"Control Panel\Desktop","PowerOffTimeOut",2,"0" HKCU,"Control Panel\Desktop","MenuShowDelay",2,"400" HKCU,"Control Panel\Desktop","WheelScrollLines",2,"3" HKCU,"Control Panel\Desktop","WheelScrollChars",2,"3" +HKCU,"Control Panel\Desktop","TileWallpaper",2,"0" +HKCU,"Control Panel\Desktop","Pattern",2,"(None)" HKCU,"Control Panel\Desktop\WindowMetrics","ScrollWidth",2,"16" HKCU,"Control Panel\Desktop\WindowMetrics","ScrollHeight",2,"16" @@ -46,9 +125,86 @@ HKCU,"Control Panel\Desktop\WindowMetrics","MenuHeight",2,"18" HKCU,"Control Panel\Desktop\WindowMetrics","BorderWidth",2,"1" HKCU,"Control Panel\Desktop\WindowMetrics","Shell Icon Size",2,"32" - +HKCU, "Control Panel\Desktop\WindowMetrics","CaptionFont",0x00000001,f5,ff,ff,ff,00,00,00,\ +00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ +00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +HKCU, "Control Panel\Desktop\WindowMetrics","IconFont",0x00000001,f5,ff,ff,ff,00,00,00,00,\ +00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,00,\ +61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +HKCU, "Control Panel\Desktop\WindowMetrics","MenuFont",0x00000001,f5,ff,ff,ff,00,00,00,00,\ +00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,00,\ +61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +HKCU, "Control Panel\Desktop\WindowMetrics","MessageFont",0x00000001,f5,ff,ff,ff,00,00,00,\ +00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ +00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +HKCU, "Control Panel\Desktop\WindowMetrics","SmCaptionFont",0x00000001,f5,ff,ff,ff,00,00,\ +00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,\ +6d,00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 +HKCU, "Control Panel\Desktop\WindowMetrics","StatusFont",0x00000001,f5,ff,ff,ff,00,00,00,\ +00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ +00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 + +; Input Methods +HKCU,"Control Panel\Input Method\Hot Keys",,0x00000012 +HKCU,"Control Panel\Input Method\Hot Keys\00000010","Key Modifiers",0x00030003,02,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000010","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000010","Virtual Key",0x00030003,20,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000011","Key Modifiers",0x00030003,04,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000011","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000011","Virtual Key",0x00030003,20,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000012","Key Modifiers",0x00030003,02,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000012","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000012","Virtual Key",0x00030003,be,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000070","Key Modifiers",0x00030003,02,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000070","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000070","Virtual Key",0x00030003,20,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000071","Key Modifiers",0x00030003,04,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000071","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000071","Virtual Key",0x00030003,20,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000072","Key Modifiers",0x00030003,03,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000072","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000072","Virtual Key",0x00030003,bc,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000200","Key Modifiers",0x00030003,03,C0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000200","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000200","Virtual Key",0x00030003,47,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000201","Key Modifiers",0x00030003,03,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000201","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000201","Virtual Key",0x00030003,4b,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000202","Key Modifiers",0x00030003,03,c0,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000202","Target IME",0x00030003,00,00,00,00 +HKCU,"Control Panel\Input Method\Hot Keys\00000202","Virtual Key",0x00030003,4c,00,00,00 + +; International keys HKCU,"Control Panel\International",,0x00000012 HKCU,"Control Panel\International","Locale",0x00000000,"0409" +HKCU,"Control Panel\International","iCountry",2,"1" +HKCU,"Control Panel\International","iCurrDigits",2,"2" +HKCU,"Control Panel\International","iCurrency",2,"0" +HKCU,"Control Panel\International","iDate",2,"0" +HKCU,"Control Panel\International","iDigits",2,"2" +HKCU,"Control Panel\International","iLZero",2,"1" +HKCU,"Control Panel\International","iMeasure",2,"1" +HKCU,"Control Panel\International","iNegCurr",2,"0" +HKCU,"Control Panel\International","iTime",2,"0" +HKCU,"Control Panel\International","iTLZero",2,"0" +HKCU,"Control Panel\International","s1159",2,"AM" +HKCU,"Control Panel\International","s2359",2,"PM" +HKCU,"Control Panel\International","sCountry",2,"United States" +HKCU,"Control Panel\International","sCurrency",2,"$" +HKCU,"Control Panel\International","sDate",2,"/" +HKCU,"Control Panel\International","sDecimal",2,"." +;HKCU,"Control Panel\International","sLanguage",2,"ENU" +HKCU,"Control Panel\International","sList",2,"," +HKCU,"Control Panel\International","sLongDate",2,"dddd, MMMM dd, yyyy" +HKCU,"Control Panel\International","sShortDate",2,"M/d/yyyy" +HKCU,"Control Panel\International","sThousand",2,"," +HKCU,"Control Panel\International","sTime",2,":" HKCU,"Control Panel\International\Geo","Nation",0x00000000,"1" ; Cursors Schemes @@ -56,21 +212,57 @@ HKCU,"Control Panel\Cursors","Scheme Source",0x00010001,0x00000002 ; PowerCfg -HKCU,"Control Panel\PowerCfg","CurrentPowerPolicy",0x00000002,"0" -HKCU,"Control Panel\PowerCfg\GlobalPowerPolicy","Policies",0x00000001,01,00,00,00,03,\ -00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,03,00,00,00,00,00,00,00,02,00,00,00,03,\ -00,00,00,00,00,00,00,02,00,00,00,03,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,00,\ -00,00,80,00,00,00,00,01,00,00,00,00,00,00,80,01,00,00,00,03,00,00,00,02,00,00,00,04,\ -00,00,c0,01,00,00,00,04,00,00,00,01,00,00,00,0a,00,00,00,00,00,00,00,03,00,00,00,01,\ -00,01,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,00,00,16,\ +HKCU,"Control Panel\PowerCfg","CurrentPowerPolicy",2,"0" +HKCU,"Control Panel\PowerCfg\GlobalPowerPolicy","Policies",0x00030003,01,00,00,00,00,\ +00,00,00,03,00,00,00,10,00,00,00,00,00,00,00,03,00,00,00,10,00,00,00,02,00,00,00,03,\ +00,00,00,00,00,00,00,02,00,00,00,03,00,00,00,00,00,00,00,02,00,00,00,01,00,00,00,00,\ +00,00,00,02,00,00,00,01,00,00,00,00,00,00,00,01,00,00,00,03,00,00,00,03,00,00,00,00,\ +00,00,C0,01,00,00,00,05,00,00,00,01,00,00,00,0A,00,00,00,00,00,00,00,03,00,00,00,01,\ +00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,16,\ 00,00,00 -HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Name",0x00020000,"Home/Office Desk" -HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Description",0x00020000,"This scheme is suited to most home or desktop computers that are left plugged in all the time." -HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Policies",0x00000001,01,00,00,00,02,\ -00,00,00,01,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,2c,\ -01,00,00,32,32,00,03,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,b0,04,00,00,2c,\ -01,00,00,00,00,00,00,58,02,00,00,01,01,64,50,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Name",2,"Home/Office Desk" +HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Description",2,"This scheme is suited to most home or desktop computers that are left plugged in all the time." +HKCU,"Control Panel\PowerCfg\PowerPolicies\0","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,2C,01,\ +00,00,32,32,00,03,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,B0,04,00,00,2C,01,\ +00,00,00,00,00,00,58,02,00,00,01,01,64,50,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\1","Name",2,"Portable/Laptop" +HKCU,"Control Panel\PowerCfg\PowerPolicies\1","Description",2,"This scheme is designed for extended battery life for portable computers on the road." +HKCU,"Control Panel\PowerCfg\PowerPolicies\1","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,01,00,00,00,00,00,00,00,B0,04,00,00,2C,01,\ +00,00,32,32,03,03,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,84,03,00,00,2C,01,\ +00,00,08,07,00,00,2C,01,00,00,01,01,64,50,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\2","Name",2,"Presentation" +HKCU,"Control Panel\PowerCfg\PowerPolicies\2","Description",2,"This scheme keeps the monitor on for doing presentations." +HKCU,"Control Panel\PowerCfg\PowerPolicies\2","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,84,03,\ +00,00,32,32,03,02,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,00,00,00,00,2C,01,00,00,01,01,50,50,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\3","Name",2,"Always On" +HKCU,"Control Panel\PowerCfg\PowerPolicies\3","Description",2,"This scheme keeps the computer running so that it can be accessed from the network. Use this scheme if you do not have network wakeup hardware." +HKCU,"Control Panel\PowerCfg\PowerPolicies\3","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ +00,00,32,32,00,00,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,B0,04,00,00,84,03,\ +00,00,00,00,00,00,08,07,00,00,00,01,64,64,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\4","Name",2,"Minimal Power Management" +HKCU,"Control Panel\PowerCfg\PowerPolicies\4","Description",2,"This scheme keeps the computer on and optimizes it for high performance." +HKCU,"Control Panel\PowerCfg\PowerPolicies\4","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,2C,01,\ +00,00,32,32,03,03,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,84,03,00,00,2C,01,\ +00,00,00,00,00,00,84,03,00,00,00,01,64,64,64,64,00,00 + +HKCU,"Control Panel\PowerCfg\PowerPolicies\5","Name",2,"Max Battery" +HKCU,"Control Panel\PowerCfg\PowerPolicies\5","Description",2,"This scheme is extremely aggressive for saving power." +HKCU,"Control Panel\PowerCfg\PowerPolicies\5","Policies",0x00030003,01,00,00,00,02,00,\ +00,00,01,00,00,00,00,00,00,00,02,00,00,00,05,00,00,00,00,00,00,00,B0,04,00,00,78,00,\ +00,00,32,32,03,02,04,00,00,00,04,00,00,00,00,00,00,00,00,00,00,00,84,03,00,00,3C,00,\ +00,00,00,00,00,00,B4,00,00,00,01,01,64,32,64,64,00,00 ; Color schemes HKCU,"Control Panel\Current","Color Schemes",0x00020000,"ReactOS Standard" @@ -1421,11 +1613,15 @@ HKCU,"Control Panel\Appearance\New Schemes\21\Sizes\0","Contrast",0x00010001,0x00000000 HKCU,"Control Panel\Appearance\New Schemes\21\Sizes\0","LegacyName",0x00020000,"Wheat" +HKCU,"Control Panel\Sound","Beep",2,"yes" +HKCU,"Control Panel\Sound","ExtendedSounds",2,"yes" + HKCU,"Environment",,0x00000012 HKCU,"Environment","TEMP",0x00020000,"%USERPROFILE%\Local Settings\Temp" HKCU,"Environment","TMP",0x00020000,"%USERPROFILE%\Local Settings\Temp" HKCU,"SOFTWARE",,0x00000012 +HKCU,"SOFTWARE\Policies",,0x00000012 HKCU,"SOFTWARE\Microsoft",,0x00000012 ; DirectX version report as DirectX 9.0 @@ -1449,11 +1645,28 @@ HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu","{208D2C60-3AEA-1069-A2D7-08002B30309D}",0x00010001,0x00000000 -HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}",,0x00000012 - +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}",,0x00000012 + +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",,0x00000012 +HKCU,"Software\Microsoft\Windows\CurrentVersion\Telephony",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows NT",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Devices",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\PrinterPorts",,0x00000012 +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Program Manager",,0x00000012 + +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","DebugOptions",2,"2048" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","device",2,"" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","Documents",2,"" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","DosPrint",2,"no" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","load",2,"" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","NetMessage",2,"no" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","NullPort",2,"None" +HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows","Programs",2,"com exe bat pif cmd" ; Application compatibility settings for Windows 95 HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\WIN95","MajorVersion",0x00010001,0x00000004 @@ -1491,38 +1704,6 @@ HKCU,"SOFTWARE\ReactOS\Debug","SpyInclude",0x00020000,"INCLUDEALL" ;HKCU,"SOFTWARE\ReactOS\Debug","SpyExclude",0x00020000,"" ;HKCU,"SOFTWARE\ReactOS\Debug","SpyExcludeDWP",0x00020000,"" - -; GUI Setup - -HKCU, "Control Panel\Desktop\WindowMetrics","CaptionFont",0x00000001,f5,ff,ff,ff,00,00,00,\ -00,00,00,00,00,00,00,00,00,bc,02,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ -00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKCU, "Control Panel\Desktop\WindowMetrics","IconFont",0x00000001,f5,ff,ff,ff,00,00,00,00,\ -00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,00,\ -61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKCU, "Control Panel\Desktop\WindowMetrics","MenuFont",0x00000001,f5,ff,ff,ff,00,00,00,00,\ -00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,00,\ -61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKCU, "Control Panel\Desktop\WindowMetrics","MessageFont",0x00000001,f5,ff,ff,ff,00,00,00,\ -00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ -00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKCU, "Control Panel\Desktop\WindowMetrics","SmCaptionFont",0x00000001,f5,ff,ff,ff,00,00,\ -00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,\ -6d,00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 -HKCU, "Control Panel\Desktop\WindowMetrics","StatusFont",0x00000001,f5,ff,ff,ff,00,00,00,\ -00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,01,00,00,00,00,54,00,61,00,68,00,6f,00,6d,\ -00,61,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ -00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00 - -; Accessibility -HKCU,"Control Panel\Accessibility",,0x00000012 -HKCU,"Control Panel\Accessibility\Keyboard Preference",,0x00000012 -HKCU,"Control Panel\Accessibility\Keyboard Preference","On",2,"0" ; Internet Explorer Modified: trunk/reactos/boot/bootdata/hivesft_i386.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesft_i386…
============================================================================== --- trunk/reactos/boot/bootdata/hivesft_i386.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesft_i386.inf [iso-8859-1] Sat Oct 24 15:13:20 2009 @@ -4,26 +4,54 @@ [AddReg] ; Internet Explorer -HKLM,"Software\Microsoft\Internet Explorer","Version",,"6.0.2900.2180" +HKLM,"SOFTWARE\Microsoft\Internet Explorer","Build",,"62800" +HKLM,"SOFTWARE\Microsoft\Internet Explorer","Version",,"6.0.2800.3959" +HKLM,"SOFTWARE\Microsoft\Internet Explorer","W2kVersion",,"6.0.2800.3959" ; DirectX HKLM,"SOFTWARE\Microsoft\DirectX","Version",0x00000000,"4.09.00.0904" ; RPC -HKLM,Software\Microsoft\Rpc\SecurityService,1,2,"secur32.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,10,2,"secur32.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,14,2,"schannel.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,16,2,"secur32.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,18,2,"secur32.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,68,2,"netlogon.dll" -HKLM,Software\Microsoft\Rpc\SecurityService,9,2,"secur32.dll" +HKLM,"SOFTWARE\Microsoft\Rpc",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Rpc\NetBios",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Rpc","DCOM Protocols",0x00010002,"ncacn_ip_tcp" +HKLM,"SOFTWARE\Microsoft\Rpc\ClientProtocols","ncacn_np",0x00000000,"rpcrt4.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\NameService","DefaultSyntax",2,"3" +HKLM,"SOFTWARE\Microsoft\Rpc\NameService","Endpoint",2,"\pipe\locator" +HKLM,"SOFTWARE\Microsoft\Rpc\NameService","NetworkAddress",2,"\\." +HKLM,"SOFTWARE\Microsoft\Rpc\NameService","Protocol",2,"ncacn_np" +HKLM,"SOFTWARE\Microsoft\Rpc\NameService","ServerNetworkAddress",2,"\\." +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","1",2,"secur32.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","10",2,"secur32.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","14",2,"schannel.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","16",2,"secur32.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","18",2,"secur32.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","68",2,"netlogon.dll" +HKLM,"SOFTWARE\Microsoft\Rpc\SecurityService","9",2,"secur32.dll" + +HKLM,"SOFTWARE\Microsoft\Secure",,0x00000012 + +; WBem +HKLM,"SOFTWARE\Microsoft\wbem\ess",,0x00000012 +HKLM,"SOFTWARE\Microsoft\wbem\Transports",,0x00000012 +HKLM,"SOFTWARE\Microsoft\wbem\Scripting",,0x00000012 +HKLM,"SOFTWARE\Microsoft\wbem","Installation Directory",0x00020000,"%SystemRoot%\system32\wbem" +HKLM,"SOFTWARE\Microsoft\wbem","MOF Self-Install Directory",0x00020000,"%SystemRoot%\system32\wbem\mof" ; HTML Help -HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},,2,"HTML Help" -HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"ComponentID",2,"HTMLHelp" -HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"IsInstalled",2,1 -HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"Locale",2,"*" -HKLM,SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9},"Version",2,"4,74,9273,0" +HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9}",,2,"HTML Help" +HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9}","ComponentID",2,"HTMLHelp" +HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9}","IsInstalled",2,1 +HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9}","Locale",2,"*" +HKLM,"SOFTWARE\Microsoft\Active Setup\Installed Components\{de5aed00-a4bf-11d1-9948-00c04f98bbc9}","Version",2,"4,74,9273,0" + +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","DevicePath",0x00020002,"%SystemRoot%\inf" +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion","MediaPathUnexpanded",0x00020000,"%SystemRoot%\Media" +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Applets",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cpls",,0x00000012 +; Cursors Schemes +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","ReactOS Default",0x00020000,""",,,,,,,,,,,,,""" ; Common shell folders HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders",,0x00000012 @@ -33,7 +61,14 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\BackupPath",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\BackupPath","",0x00020000,"%SystemRoot%\system32\ntbackup.exe" +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Setup","DriverCachePath",0x00020002,"%SystemRoot%\Driver Cache" +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDlls",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions",,0x00000012 + HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu",,0x00000012 HKCU,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\ClassicStartMenu","{208D2C60-3AEA-1069-A2D7-08002B30309D}",0x00010001,0x00000000 @@ -44,15 +79,49 @@ HKLM,"SOFTWARE\Microsoft\Command Processor","AutoRun",0x00020000,"" ; Uninstall Application list -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",,0x00000010 - -HKLM,"SOFTWARE\Microsoft\Rpc",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",,0x00000012 ; Version Information HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","CurrentVersion",0x00020000,"5.2" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","CSDVersion",0x00020000,"Service Pack 2" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","CurrentBuildNumber",0x00020000,"3790" - +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","InstallDate",0x00010003,0 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","ProductName",2,"ReactOS" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","RegDone",0x00000002,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","RegisteredOrganization",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","RegisteredOwner",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","SoftwareType",2,"System" + +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Accessibility",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Compatibility",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Compatibility32",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\Shared Parameters",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\SMAddOns",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\UMAddOns",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\World Full Access Shared Parameters",,0x00000012 + +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\Nls","00000409",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont","0",2,"Lucida Console" + +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontMapper",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\IME Compatibility",,0x00000012 + +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM","LoadIMM",0x00010003,0 +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM","LoadCTFIME",0x00010003,0 + +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","COM1:",2,"9600,n,8,1" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","COM2:",2,"9600,n,8,1" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","COM3:",2,"9600,n,8,1" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","COM4:",2,"9600,n,8,1" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","FILE:",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","LPT1:",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","LPT2:",2,"" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ports","LPT3:",2,"" ; Image File Execution Options (NtGlobalFlag with FLG_SHOW_LDR_SNAPS set for loadlib.exe) HKLM,"Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\loadlib.exe","GlobalFlag",0x00000000,"0x00000002" @@ -120,7 +189,7 @@ ; User Profile List HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList",,0x00000012 -;HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020000,"%SystemDrive%\Documents and Settings" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020000,"%SystemDrive%\Documents and Settings" ; Font substitutes ; SysFontSubstitutes are also returned by EnumFontFamilies, FontSubstitutes aren't @@ -941,6 +1010,15 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers","6",0x00000000,"
south-america.pool.ntp.org
" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers","7",0x00000000,"
time.windows.com
" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers","8",0x00000000,"
time.nist.gov
" + +; Telephony +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations","DisableCallWaiting",0x00010003,3 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations","DisableCallWaiting0",2,"*70," +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations","DisableCallWaiting1",2,"70#," +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Locations","DisableCallWaiting2",2,"1170," +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\tapi3",,0x00000012 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Terminal Manager",,0x00000012 ; Country Codes HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List",,0x00000012 @@ -1108,20 +1186,69 @@ HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\998","CountryCode",0x00010001,0x000003e6 HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\998","Name",0x00000000,"Uzbekistan" -;Cursors Schemes -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel\Cursors\Schemes","ReactOS Default",0x00020000,""",,,,,,,,,,,,,""" - -;PowerCfg +; PowerCfg HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg","LastID",0x00000002,"0" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg","DiskSpinDownMax",0x00000002,"3600" HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg","DiskSpinDownMin",0x00000002,"3" -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\GlobalPowerPolicy","Policies",0x00000001,\ +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\GlobalPowerPolicy","Policies",0x00030003,\ 01,00,00,00,01,00,00,00,01,00,00,00,03,00,00,00 -HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\0","Policies",0x00000001,\ -01,00,00,00,02,00,00,00,04,00,00,00,02,00,00,00,02,00,00,00,00,00,00,00,84,03,00,00,00,00,00,00,84,03,\ -00,00,32,32,00,00,02,00,00,00,04,00,00,c0,00,00,00,00,02,00,00,00,04,00,00,c0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\0","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,04,00,00,00,02,00,00,00,02,00,00,00,00,00,00,00,84,03,00,00,00,00,00,00,84,03,00,00,32,\ +32,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\1","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,03,00,00,00,03,00,00,00,03,00,00,00,60,09,00,00,2C,01,00,00,80,25,00,00,F4,1A,00,00,32,\ +32,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\2","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,03,00,00,00,02,00,00,00,02,00,00,00,00,00,00,00,84,03,00,00,00,00,00,00,9C,18,00,00,32,\ +32,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\3","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,04,00,00,00,02,00,00,00,02,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,5A,\ +5A,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\4","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,04,00,00,00,02,00,00,00,02,00,00,00,00,00,00,00,08,07,00,00,00,00,00,00,04,29,00,00,5A,\ +5A,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\5","Policies",0x00030003,\ +01,00,00,00,02,00,00,00,04,00,00,00,03,00,00,00,03,00,00,00,DC,05,00,00,B4,00,00,00,DC,05,00,00,98,0D,00,00,32,\ +0A,00,00,02,00,00,00,04,00,00,C0,00,00,00,00,02,00,00,00,04,00,00,C0,00,00,00,00 + +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\0","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,46,00,00,\ +01,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\1","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,46,00,00,\ +01,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\2","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,02,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,46,00,00,\ +01,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\3","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,50,00,00,\ +01,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\4","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,46,00,00,\ +01,00,00,00 +HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\ProcessorPolicies\5","Policies",0x00030001,\ +01,00,00,00,01,00,00,00,03,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,32,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,3C,00,00,02,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,28,50,00,00,\ +01,00,00,00,01,00,00,00,02,00,00,00,00,00,00,00,03,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,0A,14,00,00,02,00,\ +00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,28,00,00,02,00,00,00,A0,86,01,00,A0,86,01,00,A0,86,01,00,14,41,00,00,\ +01,00,00,00 ; deskadp.dll shell extension HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\Device\shellex\PropertySheetHandlers\Display Adapter CPL Extension","",0x00000000,"{42071712-76d4-11d1-8b24-00a0c9068ff3}" Modified: trunk/reactos/boot/bootdata/hivesys_i386.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_i386…
============================================================================== --- trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] Sat Oct 24 15:13:20 2009 @@ -2,6 +2,15 @@ Signature = "$ReactOS$" [AddReg] + +HKLM,"SYSTEM\CurrentControlSet\Control","CurrentUser",2,"USERNAME" +HKLM,"SYSTEM\CurrentControlSet\Control","WaitToKillServiceTimeout",2,"20000" +HKLM,"SYSTEM\CurrentControlSet\Control\Biosinfo","InfName",2,"biosinfo.inf" +HKLM,"SYSTEM\CurrentControlSet\Control\PnP",,0x00000012 + +HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","NtfsDisable8dot3NameCreation",0x00010003,0 +HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win31FileSystem",0x00010001,0 +HKLM,"SYSTEM\CurrentControlSet\Control\FileSystem","Win95TruncatedExtensions",0x00010001,1 ; Device classes (this list is incomplete... and should be generated from .inf files during installation) HKLM,"SYSTEM\CurrentControlSet\Control\Class\{4D36E973-E325-11CE-BFC1-08002BE10318}",,0x00000000,"Network Client" @@ -368,6 +377,80 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000412","Layout File",0x00000000,"kbdko.dll" HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000412","Layout Text",0x00000000,"Korean" HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000412","Layout Display Name",0x00000000,"@%SystemRoot%\system32\input.dll,-5063" + +; Keyboard layouts +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout",,0x00000012 +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000402",2,"bg" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000404",2,"ch" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000405",2,"cz" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000406",2,"dk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000407",2,"gr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000408",2,"gk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000409",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000040A",2,"sp" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000040B",2,"su" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000040C",2,"fr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000040E",2,"hu" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000040F",2,"is" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000410",2,"it" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000411",2,"jp" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000412",2,"ko" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000413",2,"nl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000414",2,"no" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000415",2,"pl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000416",2,"br" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000418",2,"ro" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000419",2,"ru" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000041A",2,"yu" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000041B",2,"sl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000041C",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000041D",2,"sv" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000041F",2,"tr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000422",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000423",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000424",2,"yu" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000425",2,"et" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000426",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000427",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000804",2,"ch" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000807",2,"sg" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000809",2,"uk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000080A",2,"la" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000080C",2,"be" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000813",2,"be" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000816",2,"po" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000C0C",2,"cf" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00000C1A",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00001009",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0000100C",2,"sf" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00001809",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010402",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010405",2,"cz" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010407",2,"gr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010408",2,"gk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010409",2,"dv" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0001040A",2,"sp" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0001040E",2,"hu" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010410",2,"it" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010415",2,"pl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010419",2,"ru" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0001041B",2,"sl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","0001041F",2,"tr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010426",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010C0C",2,"cf" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00010C1A",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00020408",2,"gk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00020409",2,"us" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00030409",2,"usl" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00040409",2,"usr" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybCodes","00050408",2,"gk" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00000410",2,"141" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","0000041F",2,"179" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00010408",2,"220" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00010410",2,"142" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00010415",2,"214" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","0001041F",2,"440" +HKLM,"SYSTEM\CurrentControlSet\Control\Keyboard Layout\DosKeybIDs","00020408",2,"319" ; Network HKLM,"SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}",,0x00000000,"Network Adapters" @@ -443,6 +526,12 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\CodePage","ACP",0x00000000,"1252" HKLM,"SYSTEM\CurrentControlSet\Control\NLS\CodePage","OEMCP",0x00000000,"437" HKLM,"SYSTEM\CurrentControlSet\Control\NLS\CodePage","MACCP",0x00000000,"10000" + +HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange","932",2,"F040-F9FC" +HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange","936",2,"AAA1-AFFE,F8A1-FEFE,A140-A7A0" +HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange","949",2,"C9A1-C9FE,FEA1-FEFE" +HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange","950",2,"FA40-FEFE,8E40-A0FE,8140-8DFE,C6A1-C8FE" +HKLM,"SYSTEM\CurrentControlSet\Control\Nls\CodePage\EUDCCodeRange","Unicode",2,"E000-F8FF" ; NLS Language settings HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Language","0402",0x00000000,"l_intl.nls" @@ -693,6 +782,20 @@ HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale\Alternate Sorts","00021404",0x00000000,"" HKLM,"SYSTEM\CurrentControlSet\Control\NLS\Locale\Alternate Sorts","00030404",0x00000000,"" +HKLM,"SYSTEM\CurrentControlSet\Control\Print","MajorVersion",0x00010001,2 +HKLM,"SYSTEM\CurrentControlSet\Control\Print","MinorVersion",0x00010003,0 +HKLM,"SYSTEM\CurrentControlSet\Control\Print","PriorityClass",0x00010003,0 +HKLM,"SYSTEM\CurrentControlSet\Control\Print\Environments",,0x00000012 +HKLM,"SYSTEM\CurrentControlSet\Control\Print\Monitors",,0x00000012 +HKLM,"SYSTEM\CurrentControlSet\Control\Print\Monitors\Local Port","Driver",2,"localspl.dll" +HKLM,"SYSTEM\CurrentControlSet\Control\Print\Printers",,0x00000012 + +HKLM,"SYSTEM\CurrentControlSet\Control\ProductOptions","ProductType",2,"WinNT" +HKLM,"SYSTEM\CurrentControlSet\Control\ProductOptions","ProductSuite",0x00010002,"" + +HKLM,"SYSTEM\CurrentControlSet\Control\SecurityProviders","SecurityProviders",2,"schannel.dll" +HKLM,"SYSTEM\CurrentControlSet\Control\SecurityProviders\SaslProfiles",,0x00000012 + ; Some installers check for SP6 HKLM,"SYSTEM\CurrentControlSet\Control\Windows","CSDVersion",0x00010001,0x00000600 @@ -726,6 +829,7 @@ ; Set the timeout for directx/ReactX graphic surface lock see _EDD_DIRECTDRAW_GLOBAL struct for more info HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\DCI","Timeout",0x00010001,0x00000007 +HKLM,"SYSTEM\CurrentControlSet\Control\GraphicsDrivers\UseNewKey",,0x00000012 ; Group order, the first DWORD is the count of entries, ; the following dwords are the tag entries for the load order.
15 years, 2 months
1
0
0
0
← Newer
1
...
15
16
17
18
19
20
21
...
65
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
Results per page:
10
25
50
100
200