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
2025
January
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
July 2006
----- 2025 -----
January 2025
----- 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
19 participants
662 discussions
Start a n
N
ew thread
[hpoussin] 23017: Enable plug and play manager in livecd.
by hpoussin@svn.reactos.org
Author: hpoussin Date: Wed Jul 12 15:54:04 2006 New Revision: 23017 URL:
http://svn.reactos.org/svn/reactos?rev=23017&view=rev
Log: Enable plug and play manager in livecd. Modified: trunk/reactos/dll/win32/syssetup/install.c Modified: trunk/reactos/dll/win32/syssetup/install.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/install…
============================================================================== --- trunk/reactos/dll/win32/syssetup/install.c (original) +++ trunk/reactos/dll/win32/syssetup/install.c Wed Jul 12 15:54:04 2006 @@ -381,6 +381,31 @@ PROCESS_INFORMATION ProcessInformation; BOOL res; + hSysSetupInf = SetupOpenInfFileW( + L"syssetup.inf", + NULL, + INF_STYLE_WIN4, + NULL); + if (hSysSetupInf == INVALID_HANDLE_VALUE) + { + DebugPrint("SetupOpenInfFileW() failed to open 'syssetup.inf' (Error: %lu)\n", GetLastError()); + return 0; + } + + if (!ProcessSysSetupInf()) + { + DebugPrint("ProcessSysSetupInf() failed!\n"); + return 0; + } + + SetupCloseInfFile(hSysSetupInf); + + if (!EnableUserModePnpManager()) + { + DebugPrint("EnableUserModePnpManager() failed!\n"); + return 0; + } + /* Load the default shell */ rc = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
18 years, 5 months
1
0
0
0
[hpoussin] 23016: LiveCD change: don't directly name the shell executable in SYSTEM\Setup key, but run setup.exe, which then loads syssetup.dll, which then runs the selected shell. This is the first step to do custom operations when running the livecd.
by hpoussin@svn.reactos.org
Author: hpoussin Date: Wed Jul 12 15:30:17 2006 New Revision: 23016 URL:
http://svn.reactos.org/svn/reactos?rev=23016&view=rev
Log: LiveCD change: don't directly name the shell executable in SYSTEM\Setup key, but run setup.exe, which then loads syssetup.dll, which then runs the selected shell. This is the first step to do custom operations when running the livecd. Modified: trunk/reactos/base/setup/setup/setup.c trunk/reactos/boot/bootdata/livecd.inf trunk/reactos/dll/win32/syssetup/install.c trunk/reactos/dll/win32/syssetup/syssetup.def Modified: trunk/reactos/base/setup/setup/setup.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/setup/setup.c?r…
============================================================================== --- trunk/reactos/base/setup/setup/setup.c (original) +++ trunk/reactos/base/setup/setup/setup.c Wed Jul 12 15:30:17 2006 @@ -85,6 +85,33 @@ FreeLibrary (hDll); } +static VOID +RunLiveCD (HINSTANCE hInstance) +{ + HMODULE hDll; + PINSTALL_REACTOS InstallLiveCD; + + hDll = LoadLibrary (TEXT("syssetup")); + if (hDll == NULL) + { + DPRINT("Failed to load 'syssetup'!\n"); + return; + } + + DPRINT("Loaded 'syssetup'!\n"); + InstallLiveCD = (PINSTALL_REACTOS)GetProcAddress (hDll, "InstallLiveCD"); + + if (InstallLiveCD == NULL) + { + DPRINT("Failed to get address for 'InstallReactOS()'!\n"); + FreeLibrary (hDll); + return; + } + + InstallLiveCD (hInstance); + + FreeLibrary (hDll); +} int STDCALL WinMain (HINSTANCE hInstance, @@ -107,6 +134,10 @@ { RunNewSetup (hInstance); } + else if (!lstrcmpi (p, TEXT("-mini"))) + { + RunLiveCD (hInstance); + } #if 0 /* Add new setup types here */ Modified: trunk/reactos/boot/bootdata/livecd.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/livecd.inf?r…
============================================================================== --- trunk/reactos/boot/bootdata/livecd.inf (original) +++ trunk/reactos/boot/bootdata/livecd.inf Wed Jul 12 15:30:17 2006 @@ -17,10 +17,7 @@ HKLM,"SYSTEM\CurrentControlSet\Services\Ntfs","Start",0x00010001,0x00000004 ; Shell -HKLM,"SYSTEM\Setup","CmdLine",0x00020000,"%SystemRoot%\explorer.exe" - -; Serial mouse driver -HKLM,"SYSTEM\CurrentControlSet\Services\Sermouse","Start",0x00010001,0x00000001 +HKLM,"SYSTEM\Setup","CmdLine",0x00020000,"setup -mini" ; User Profile List HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList",,0x00000012 Modified: trunk/reactos/dll/win32/syssetup/install.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/install…
============================================================================== --- trunk/reactos/dll/win32/syssetup/install.c (original) +++ trunk/reactos/dll/win32/syssetup/install.c Wed Jul 12 15:30:17 2006 @@ -369,6 +369,97 @@ DWORD STDCALL +InstallLiveCD (HINSTANCE hInstance) +{ + LONG rc; + HKEY hKey = NULL; + DWORD dwType; + DWORD requiredSize; + LPTSTR Shell = NULL; + TCHAR CommandLine[MAX_PATH]; + STARTUPINFO StartupInfo; + PROCESS_INFORMATION ProcessInformation; + BOOL res; + + /* Load the default shell */ + rc = RegOpenKeyEx( + HKEY_LOCAL_MACHINE, + TEXT("SOFTWARE\\ReactOS\\Windows NT\\CurrentVersion\\Winlogon"), /* FIXME: should be REGSTR_PATH_WINLOGON */ + 0, + KEY_QUERY_VALUE, + &hKey); + if (rc != ERROR_SUCCESS) + goto cleanup; + rc = RegQueryValueEx( + hKey, + TEXT("Shell"), + NULL, + &dwType, + NULL, + &requiredSize); + if (rc != ERROR_SUCCESS) + goto cleanup; + else if (dwType != REG_SZ && dwType != REG_EXPAND_SZ) + goto cleanup; + else if (requiredSize > (MAX_PATH - 1) * sizeof(TCHAR)) + goto cleanup; + Shell = HeapAlloc(GetProcessHeap(), 0, requiredSize + sizeof(TCHAR)); + if (!Shell) + goto cleanup; + Shell[requiredSize / sizeof(WCHAR)] = '\0'; + rc = RegQueryValueEx( + hKey, + TEXT("Shell"), + NULL, + NULL, + (LPBYTE)Shell, + &requiredSize); + if (rc != ERROR_SUCCESS) + goto cleanup; + if (dwType == REG_EXPAND_SZ) + ExpandEnvironmentStrings(Shell, CommandLine, MAX_PATH); + else if (dwType == REG_SZ) + _tcscpy(CommandLine, Shell); + + /* Run the shell */ + StartupInfo.cb = sizeof(StartupInfo); + StartupInfo.lpReserved = NULL; + StartupInfo.lpDesktop = NULL; + StartupInfo.lpTitle = NULL; + StartupInfo.dwFlags = 0; + StartupInfo.cbReserved2 = 0; + StartupInfo.lpReserved2 = 0; + res = CreateProcess( + CommandLine, + NULL, + NULL, + NULL, + FALSE, + 0, + NULL, + NULL, + &StartupInfo, + &ProcessInformation); + if (!res) + goto cleanup; + + /* Wait for process termination */ + WaitForSingleObject(ProcessInformation.hProcess, INFINITE); + +cleanup: + if (hKey != NULL) + RegCloseKey(hKey); + HeapFree(GetProcessHeap(), 0, Shell); + MessageBoxA( + NULL, + "You can shutdown your computer, or press ENTER to reboot", + "ReactOS LiveCD", + MB_OK); + return 0; +} + + +DWORD STDCALL InstallReactOS (HINSTANCE hInstance) { TCHAR sAccessories[256]; Modified: trunk/reactos/dll/win32/syssetup/syssetup.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/syssetu…
============================================================================== --- trunk/reactos/dll/win32/syssetup/syssetup.def (original) +++ trunk/reactos/dll/win32/syssetup/syssetup.def Wed Jul 12 15:30:17 2006 @@ -4,6 +4,7 @@ ;DevInstallW ;GenerateScsiHwIdList InitializeSetupActionLog@4 +InstallLiveCD@4 InstallReactOS@4 KeyboardClassInstaller@12 LogItem@8
18 years, 5 months
1
0
0
0
[navaraf] 23015: Fix the RET insns for @InterlockedCompareExchange@12. Spotted by Alex & Aleksey.
by navaraf@svn.reactos.org
Author: navaraf Date: Wed Jul 12 02:45:45 2006 New Revision: 23015 URL:
http://svn.reactos.org/svn/reactos?rev=23015&view=rev
Log: Fix the RET insns for @InterlockedCompareExchange@12. Spotted by Alex & Aleksey. Modified: trunk/reactos/ntoskrnl/ex/i386/fastinterlck_asm.S Modified: trunk/reactos/ntoskrnl/ex/i386/fastinterlck_asm.S URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/i386/fastinter…
============================================================================== --- trunk/reactos/ntoskrnl/ex/i386/fastinterlck_asm.S (original) +++ trunk/reactos/ntoskrnl/ex/i386/fastinterlck_asm.S Wed Jul 12 02:45:45 2006 @@ -599,7 +599,7 @@ LOCK cmpxchg dword ptr [ecx], edx /* Return */ - ret + ret 4 /*PVOID *FASTCALL
18 years, 5 months
1
0
0
0
[gedmurphy] 23014: a quick hack to make the start menu links for explorer and regedit work again.
by gedmurphy@svn.reactos.org
Author: gedmurphy Date: Wed Jul 12 01:40:13 2006 New Revision: 23014 URL:
http://svn.reactos.org/svn/reactos?rev=23014&view=rev
Log: a quick hack to make the start menu links for explorer and regedit work again. Modified: branches/ros-branch-0_3_0/reactos/dll/win32/syssetup/install.c Modified: branches/ros-branch-0_3_0/reactos/dll/win32/syssetup/install.c URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_3_0/reactos/dll/wi…
============================================================================== --- branches/ros-branch-0_3_0/reactos/dll/win32/syssetup/install.c (original) +++ branches/ros-branch-0_3_0/reactos/dll/win32/syssetup/install.c Wed Jul 12 01:40:13 2006 @@ -425,8 +425,8 @@ CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("Calculator.lnk"), _T("calc.exe"), IDS_CMT_CALC); CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("Command Prompt.lnk"), _T("cmd.exe"), IDS_CMT_CMD); CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("Notepad.lnk"), _T("notepad.exe"), IDS_CMT_NOTEPAD); - CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("ReactOS Explorer.lnk"), _T("explorer.exe"), IDS_CMT_EXPLORER); - CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("Regedit.lnk"), _T("regedit.exe"), IDS_CMT_REGEDIT); + CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("..\\ReactOS Explorer.lnk"), _T("explorer.exe"), IDS_CMT_EXPLORER); + CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("..\\Regedit.lnk"), _T("regedit.exe"), IDS_CMT_REGEDIT); CreateShortcut(CSIDL_PROGRAMS, sAccessories, _T("WordPad.lnk"), _T("wordpad.exe"), IDS_CMT_WORDPAD); }
18 years, 5 months
1
0
0
0
[ion] 23013: - Implement Fast Referencing and fix EX_FAST_REF definition. - Implement ObReferenceEx and ObDereferenceEx. - Split off ObpDeferObjectCompletion. A new win2003/vista API requires direct acess to being able to defer deletes. - Fix some bugs in Process Token management and make it all properly use Fast Referencing. - When duplicating a token in a new process, don't de-reference it before it's even created, and also insert it. - Change ExpChangeRundown macro to fix warnings in msvc.
by ion@svn.reactos.org
Author: ion Date: Tue Jul 11 23:45:16 2006 New Revision: 23013 URL:
http://svn.reactos.org/svn/reactos?rev=23013&view=rev
Log: - Implement Fast Referencing and fix EX_FAST_REF definition. - Implement ObReferenceEx and ObDereferenceEx. - Split off ObpDeferObjectCompletion. A new win2003/vista API requires direct acess to being able to defer deletes. - Fix some bugs in Process Token management and make it all properly use Fast Referencing. - When duplicating a token in a new process, don't de-reference it before it's even created, and also insert it. - Change ExpChangeRundown macro to fix warnings in msvc. Modified: trunk/reactos/include/ndk/extypes.h trunk/reactos/ntoskrnl/include/internal/ex.h trunk/reactos/ntoskrnl/include/internal/se.h trunk/reactos/ntoskrnl/ob/obref.c trunk/reactos/ntoskrnl/ps/psmgr.c trunk/reactos/ntoskrnl/ps/security.c trunk/reactos/ntoskrnl/ps/thread.c trunk/reactos/ntoskrnl/se/semgr.c trunk/reactos/ntoskrnl/se/token.c Modified: trunk/reactos/include/ndk/extypes.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/extypes.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/extypes.h (original) +++ trunk/reactos/include/ndk/extypes.h Tue Jul 11 23:45:16 2006 @@ -361,8 +361,8 @@ union { PVOID Object; - ULONG RefCnt:3; - ULONG Value; + ULONG_PTR RefCnt:3; + ULONG_PTR Value; }; } EX_FAST_REF, *PEX_FAST_REF; Modified: trunk/reactos/ntoskrnl/include/internal/ex.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ex.h (original) +++ trunk/reactos/ntoskrnl/include/internal/ex.h Tue Jul 11 23:45:16 2006 @@ -267,7 +267,7 @@ #define ExpChangeRundown(x, y, z) InterlockedCompareExchange64((PLONGLONG)x, y, z) #define ExpSetRundown(x, y) InterlockedExchange64((PLONGLONG)x, y) #else -#define ExpChangeRundown(x, y, z) InterlockedCompareExchange((PLONG)x, y, z) +#define ExpChangeRundown(x, y, z) InterlockedCompareExchange((PLONG)x, PtrToLong(y), PtrToLong(z)) #define ExpSetRundown(x, y) InterlockedExchange((PLONG)x, y) #endif Modified: trunk/reactos/ntoskrnl/include/internal/se.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/se.h (original) +++ trunk/reactos/ntoskrnl/include/internal/se.h Tue Jul 11 23:45:16 2006 @@ -121,6 +121,15 @@ SeDeassignPrimaryToken(struct _EPROCESS *Process); NTSTATUS +NTAPI +SeSubProcessToken( + IN PTOKEN Parent, + OUT PTOKEN *Token, + IN BOOLEAN InUse, + IN ULONG SessionId +); + +NTSTATUS STDCALL SepCreateImpersonationTokenDacl( PTOKEN Token, Modified: trunk/reactos/ntoskrnl/ob/obref.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ob/obref.c?rev=23…
============================================================================== --- trunk/reactos/ntoskrnl/ob/obref.c (original) +++ trunk/reactos/ntoskrnl/ob/obref.c Tue Jul 11 23:45:16 2006 @@ -18,36 +18,182 @@ /* PRIVATE FUNCTIONS *********************************************************/ VOID +NTAPI +ObpDeferObjectDeletion(IN PVOID Object) +{ + POBJECT_HEADER Header = OBJECT_TO_OBJECT_HEADER(Object); + + /* Add us to the list */ + do + { + Header->NextToFree = ObpReaperList; + } while (InterlockedCompareExchangePointer(&ObpReaperList, + Header, + Header->NextToFree) != + Header->NextToFree); + + /* Queue the work item */ + ExQueueWorkItem(&ObpReaperWorkItem, DelayedWorkQueue); +} + +LONG +FASTCALL +ObReferenceObjectEx(IN PVOID Object, + IN ULONG Count) +{ + /* Increment the reference count and return the count now */ + return InterlockedExchangeAdd(&OBJECT_TO_OBJECT_HEADER(Object)-> + PointerCount, + Count); +} + +LONG +FASTCALL +ObDereferenceObjectEx(IN PVOID Object, + IN ULONG Count) +{ + POBJECT_HEADER Header; + ULONG NewCount; + + /* Extract the object header */ + Header = OBJECT_TO_OBJECT_HEADER(Object); + + /* Check whether the object can now be deleted. */ + NewCount = InterlockedExchangeAdd(&Header->PointerCount, -Count); + if (!Count) + { + /* Add us to the deferred deletion list */ + ObpDeferObjectDeletion(Object); + } + + /* Return the current count */ + return NewCount; +} + +VOID FASTCALL ObInitializeFastReference(IN PEX_FAST_REF FastRef, - PVOID Object) -{ - /* FIXME: Fast Referencing is Unimplemented */ - FastRef->Object = Object; + IN PVOID Object OPTIONAL) +{ + /* Check if we were given an object and reference it 7 times */ + if (Object) ObReferenceObjectEx(Object, MAX_FAST_REFS); + + /* Sanity check */ + ASSERT(!(((ULONG_PTR)Object) & MAX_FAST_REFS)); + + /* Check if the caller gave us an object */ + if (Object) + { + /* He did, so write the biased pointer */ + FastRef->Object = (PVOID)((ULONG_PTR)Object | MAX_FAST_REFS); + } + else + { + /* Otherwise, clear the current object */ + FastRef->Object = NULL; + } } PVOID FASTCALL +ObFastReferenceObjectLocked(IN PEX_FAST_REF FastRef) +{ + PVOID Object; + + /* Get the object and reference it slowly */ + Object = (PVOID)((ULONG_PTR)FastRef->Object & MAX_FAST_REFS); + if (Object) ObReferenceObject(Object); + return Object; +} + +PVOID +FASTCALL ObFastReferenceObject(IN PEX_FAST_REF FastRef) { - /* FIXME: Fast Referencing is Unimplemented */ - - /* Do a normal Reference */ - ObReferenceObject(FastRef->Object); + ULONG_PTR Value, NewValue; + ULONG_PTR Count; + PVOID Object; + + /* Start reference loop */ + for (;;) + { + /* Get the current count */ + Value = FastRef->Value; + if (!Value & MAX_FAST_REFS) break; + + /* Increase the reference count */ + NewValue = Value - 1; + if (ExpChangeRundown(FastRef, NewValue, Value) == Value) break; + } + + /* Get the object and count */ + Object = (PVOID)(Value &~ MAX_FAST_REFS); + Count = Value & MAX_FAST_REFS; + DPRINT("Ref: %p\n", Object); + + /* Check if the reference count is over 1 */ + if (Count > 1) return Object; + + /* Check if the reference count has reached 0 */ + if (!Count) return NULL; + + /* Otherwise, reference the object 7 times */ + ObReferenceObjectEx(Object, MAX_FAST_REFS); + ASSERT(!(((ULONG_PTR)Object) & MAX_FAST_REFS)); + + for (;;) + { + /* Check if the current count is too high */ + Value = FastRef->Value; + if (((FastRef->RefCnt + MAX_FAST_REFS) > MAX_FAST_REFS) || + ((PVOID)((ULONG_PTR)FastRef->Object &~ MAX_FAST_REFS) != Object)) + { + /* Completely dereference the object */ + ObDereferenceObjectEx(Object, MAX_FAST_REFS); + break; + } + else + { + /* Increase the reference count */ + NewValue = Value + MAX_FAST_REFS; + if (ExpChangeRundown(FastRef, NewValue, Value) == Value) break; + } + } /* Return the Object */ - return FastRef->Object; + return Object; } VOID FASTCALL ObFastDereferenceObject(IN PEX_FAST_REF FastRef, - PVOID Object) -{ - /* FIXME: Fast Referencing is Unimplemented */ - - /* Do a normal Dereference */ - ObDereferenceObject(FastRef->Object); + IN PVOID Object) +{ + ULONG_PTR Value, NewValue; + + /* Sanity checks */ + DPRINT("DeRef: %p\n", Object); + ASSERT(Object); + ASSERT(!(((ULONG_PTR)Object) & MAX_FAST_REFS)); + + /* Start dereference loop */ + for (;;) + { + /* Get the current count */ + Value = FastRef->Value; + if ((Value ^ (ULONG_PTR)Object) < MAX_FAST_REFS) + { + /* Decrease the reference count */ + NewValue = Value + 1; + if (ExpChangeRundown(FastRef, NewValue, Value) == Value) return; + } + else + { + /* Do a normal Dereference */ + ObDereferenceObject(Object); + return; + } + } } PVOID @@ -55,15 +201,38 @@ ObFastReplaceObject(IN PEX_FAST_REF FastRef, PVOID Object) { - PVOID OldObject = FastRef->Object; - - /* FIXME: Fast Referencing is Unimplemented */ - FastRef->Object = Object; - - /* Do a normal Dereference */ - ObDereferenceObject(OldObject); - - /* Return old Object*/ + ULONG_PTR NewValue; + EX_FAST_REF OldRef; + PVOID OldObject; + + /* Check if we were given an object and reference it 7 times */ + if (Object) ObReferenceObjectEx(Object, MAX_FAST_REFS); + + /* Sanity check */ + ASSERT(!(((ULONG_PTR)Object) & MAX_FAST_REFS)); + + /* Check if the caller gave us an object */ + if (Object) + { + /* He did, so bias the pointer */ + NewValue = (ULONG_PTR)Object | MAX_FAST_REFS; + } + else + { + /* No object, we're clearing */ + NewValue = 0; + } + + /* Switch objects */ + OldRef.Value = InterlockedExchange(&FastRef->Value, NewValue); + OldObject = (PVOID)((ULONG_PTR)OldRef.Object &~ MAX_FAST_REFS); + if ((OldObject) && (OldRef.RefCnt)) + { + /* Dereference the old object */ + ObDereferenceObjectEx(OldObject, OldRef.RefCnt); + } + + /* Return the old object */ return OldObject; } @@ -112,17 +281,8 @@ } else { - /* Add us to the list */ - do - { - Header->NextToFree = ObpReaperList; - } while (InterlockedCompareExchangePointer(&ObpReaperList, - Header, - Header->NextToFree) != - Header->NextToFree); - - /* Queue the work item */ - ExQueueWorkItem(&ObpReaperWorkItem, DelayedWorkQueue); + /* Add us to the deferred deletion list */ + ObpDeferObjectDeletion(Object); } } } Modified: trunk/reactos/ntoskrnl/ps/psmgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/psmgr.c?rev=23…
============================================================================== --- trunk/reactos/ntoskrnl/ps/psmgr.c (original) +++ trunk/reactos/ntoskrnl/ps/psmgr.c Tue Jul 11 23:45:16 2006 @@ -196,6 +196,7 @@ InitializeListHead(&PsIdleProcess->Pcb.ThreadListHead); InitializeListHead(&PsIdleProcess->ThreadListHead); InitializeListHead(&PsIdleProcess->ActiveProcessLinks); + ObInitializeFastReference(&PsIdleProcess->Token, NULL); KeInitializeDispatcherHeader(&PsIdleProcess->Pcb.Header, ProcessObject, sizeof(EPROCESS) / sizeof(LONG), @@ -278,8 +279,7 @@ /* No parent, this is the Initial System Process. Assign Boot Token */ BootToken = SepCreateSystemProcessToken(); BootToken->TokenInUse = TRUE; - PsInitialSystemProcess->Token.Object = BootToken; /* FIXME */ - ObReferenceObject(BootToken); + ObInitializeFastReference(&PsInitialSystemProcess->Token, BootToken); } #endif } Modified: trunk/reactos/ntoskrnl/ps/security.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/security.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/ps/security.c (original) +++ trunk/reactos/ntoskrnl/ps/security.c Tue Jul 11 23:45:16 2006 @@ -176,7 +176,7 @@ PspLockProcessSecurityShared(Process); /* Do a Locked Fast Reference */ - //Token = ObFastReferenceObjectLocked(&Process->Token); + Token = ObFastReferenceObjectLocked(&Process->Token); /* Unlock the Process */ PspUnlockProcessSecurityShared(Process); @@ -222,47 +222,25 @@ PEPROCESS Parent OPTIONAL) { NTSTATUS Status = STATUS_SUCCESS; + PTOKEN NewToken, ParentToken; /* If we have a parent, then duplicate the Token */ - if (Parent) { - - PTOKEN pNewToken; - PTOKEN pParentToken; - OBJECT_ATTRIBUTES ObjectAttributes; - + if (Parent) + { /* Get the Parent Token */ - pParentToken = PsReferencePrimaryToken(Parent); - - /* Initialize the Object Attributes */ - InitializeObjectAttributes(&ObjectAttributes, - NULL, - 0, - NULL, - NULL); - - /* Duplicate the Token */ - Status = SepDuplicateToken(pParentToken, - &ObjectAttributes, - FALSE, - TokenPrimary, - pParentToken->ImpersonationLevel, - KernelMode, - &pNewToken); - - if(!NT_SUCCESS(Status)) { - - DPRINT1("Failed to Duplicate Token\n"); - return Status; - } - - /* Dereference the Token */ - ObFastDereferenceObject(&Parent->Token, pParentToken); + ParentToken = PsReferencePrimaryToken(Parent); + + /* Duplicate it */ + Status = SeSubProcessToken(ParentToken, &NewToken, TRUE, 0); + + /* Dereference the Parent */ + ObFastDereferenceObject(&Parent->Token, ParentToken); /* Set the new Token */ - ObInitializeFastReference(&Process->Token, pNewToken); - - } else { - + ObInitializeFastReference(&Process->Token, NewToken); + } + else + { #ifdef SCHED_REWRITE PTOKEN BootToken; @@ -449,7 +427,7 @@ PspLockProcessSecurityShared(Process); /* Do a Locked Fast Reference */ - //Token = ObFastReferenceObjectLocked(&Process->Token); + Token = ObFastReferenceObjectLocked(&Process->Token); /* Unlock the Process */ PspUnlockProcessSecurityShared(Process); Modified: trunk/reactos/ntoskrnl/ps/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ps/thread.c?rev=2…
============================================================================== --- trunk/reactos/ntoskrnl/ps/thread.c (original) +++ trunk/reactos/ntoskrnl/ps/thread.c Tue Jul 11 23:45:16 2006 @@ -10,10 +10,9 @@ /* * Alex FIXMEs: * - CRITICAL: NtCurrentTeb returns KPCR. - * - CRITICAL: Verify rundown APIs (ex/rundown.c) and use them where necessary. - * - MAJOR: Implement Pushlocks and use them as process lock. + * - MAJOR: Use Process Rundown + * - MAJOR: Use Process Pushlock Locks * - MAJOR: Implement Safe Referencing (See PsGetNextProcess/Thread). - * - MAJOR: Implement Fast Referencing (mostly for tokens). * - MAJOR: Use Guarded Mutex instead of Fast Mutex for Active Process Locks. * - Generate process cookie for user-more thread. * - Add security calls where necessary. Modified: trunk/reactos/ntoskrnl/se/semgr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/se/semgr.c?rev=23…
============================================================================== --- trunk/reactos/ntoskrnl/se/semgr.c (original) +++ trunk/reactos/ntoskrnl/se/semgr.c Tue Jul 11 23:45:16 2006 @@ -485,7 +485,7 @@ if (SubjectContext->PrimaryToken != NULL) { - ObDereferenceObject(SubjectContext->PrimaryToken); + ObFastDereferenceObject(&PsGetCurrentProcess()->Token, SubjectContext->PrimaryToken); } if (SubjectContext->ClientToken != NULL) Modified: trunk/reactos/ntoskrnl/se/token.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/se/token.c?rev=23…
============================================================================== --- trunk/reactos/ntoskrnl/se/token.c (original) +++ trunk/reactos/ntoskrnl/se/token.c Tue Jul 11 23:45:16 2006 @@ -321,8 +321,51 @@ return(STATUS_SUCCESS); } - ObDereferenceObject(AccessToken); return(Status); +} + +NTSTATUS +NTAPI +SeSubProcessToken(IN PTOKEN ParentToken, + OUT PTOKEN *Token, + IN BOOLEAN InUse, + IN ULONG SessionId) +{ + PTOKEN NewToken; + OBJECT_ATTRIBUTES ObjectAttributes; + NTSTATUS Status; + + /* Initialize the attributes and duplicate it */ + InitializeObjectAttributes(&ObjectAttributes, NULL, 0, NULL, NULL); + Status = SepDuplicateToken(ParentToken, + &ObjectAttributes, + FALSE, + TokenPrimary, + ParentToken->ImpersonationLevel, + KernelMode, + &NewToken); + if (NT_SUCCESS(Status)) + { + /* Insert it */ + Status = ObInsertObject(NewToken, + NULL, + 0, + 1, + NULL, + NULL); + if (NT_SUCCESS(Status)) + { + /* Set the session ID */ + NewToken->SessionId = SessionId; + NewToken->TokenInUse = InUse; + + /* Return the token */ + *Token = NewToken; + } + } + + /* Return status */ + return Status; } /* @@ -2472,6 +2515,7 @@ PrimaryToken = PsReferencePrimaryToken(Thread->ThreadsProcess); Status = SepCreateImpersonationTokenDacl(Token, PrimaryToken, &Dacl); + KEBUGCHECK(0); ObfDereferenceObject(PrimaryToken); ObfDereferenceObject(Thread); if (!NT_SUCCESS(Status))
18 years, 5 months
1
0
0
0
[janderwald] 23012: * fix typo * patch & bug report by Coviti * fixes bug 1663 * set svn:eol-style native for other resource files
by janderwald@svn.reactos.org
Author: janderwald Date: Tue Jul 11 21:52:38 2006 New Revision: 23012 URL:
http://svn.reactos.org/svn/reactos?rev=23012&view=rev
Log: * fix typo * patch & bug report by Coviti * fixes bug 1663 * set svn:eol-style native for other resource files Modified: trunk/reactos/dll/cpl/appwiz/De.rc trunk/reactos/dll/cpl/appwiz/En.rc trunk/reactos/dll/cpl/appwiz/Fr.rc (contents, props changed) trunk/reactos/dll/cpl/appwiz/Hu.rc (contents, props changed) trunk/reactos/dll/cpl/appwiz/It.rc (contents, props changed) trunk/reactos/dll/cpl/appwiz/Ja.rc trunk/reactos/dll/cpl/appwiz/Nl.rc trunk/reactos/dll/cpl/appwiz/Pl.rc (contents, props changed) trunk/reactos/dll/cpl/appwiz/Uk.rc (contents, props changed) Modified: trunk/reactos/dll/cpl/appwiz/De.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/De.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/De.rc (original) +++ trunk/reactos/dll/cpl/appwiz/De.rc Tue Jul 11 21:52:38 2006 @@ -19,7 +19,7 @@ IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Setup" +CAPTION "ReactOS Setup" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN Modified: trunk/reactos/dll/cpl/appwiz/En.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/En.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/En.rc (original) +++ trunk/reactos/dll/cpl/appwiz/En.rc Tue Jul 11 21:52:38 2006 @@ -19,7 +19,7 @@ IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Setup" +CAPTION "ReactOS Setup" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN Modified: trunk/reactos/dll/cpl/appwiz/Fr.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Fr.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Fr.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Fr.rc Tue Jul 11 21:52:38 2006 @@ -1,53 +1,53 @@ -/* French translation by Benoit Plante 2005 (cmoibenlepro AT hotmail DOT com) */ - -LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Ajout/Supression de programmes" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "Pour installer un nouveau programme, cliquez sur Installer",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "&Installer...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 - LTEXT "Les logiciels suivant peuvent être supprimés automatiquement. Pour supprimer un programme ou modifier ses composantes installées, sélectionnez-le dans la liste et cliquez sur Ajouter/Supprimer.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Ajouter/Supp&rimer", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Configuration de ReactOS" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Créer un raccourci" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Texte 1", -1, 115, 15, 160, 24 - LTEXT "Texte 2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Créer un raccourci" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Texte 1",-1,10,0,225,40 - LTEXT "Texte 2",-1,10,40,120,20 - LTEXT "Texte 3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Ajout/Supression de programmes" - IDS_CPLSYSTEMDESCRIPTION "Installe et supprime les programmes et les composantes de ReactOS, ainsi que les raccourcis." -END +/* French translation by Benoit Plante 2005 (cmoibenlepro AT hotmail DOT com) */ + +LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ajout/Supression de programmes" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "Pour installer un nouveau programme, cliquez sur Installer",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "&Installer...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "Les logiciels suivant peuvent être supprimés automatiquement. Pour supprimer un programme ou modifier ses composantes installées, sélectionnez-le dans la liste et cliquez sur Ajouter/Supprimer.",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT + PUSHBUTTON "Ajouter/Supp&rimer", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Configuration de ReactOS" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Créer un raccourci" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Texte 1", -1, 115, 15, 160, 24 + LTEXT "Texte 2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Créer un raccourci" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Texte 1",-1,10,0,225,40 + LTEXT "Texte 2",-1,10,40,120,20 + LTEXT "Texte 3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Ajout/Supression de programmes" + IDS_CPLSYSTEMDESCRIPTION "Installe et supprime les programmes et les composantes de ReactOS, ainsi que les raccourcis." +END Propchange: trunk/reactos/dll/cpl/appwiz/Fr.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/cpl/appwiz/Hu.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Hu.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Hu.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Hu.rc Tue Jul 11 21:52:38 2006 @@ -1,52 +1,52 @@ -// Hungarian resource file by Robert Horvath - talley at cubeclub.hu -LANGUAGE LANG_HUNGARIAN, SUBLANG_NEUTRAL - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Telepítés és eltávolítás" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "Egy új program telepítéséhez kattints a Telepítés gombra",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "&Telepítés...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 - LTEXT "A következõ szoftvereket lehet eltávolítani. A szoftver törléséhez vagy összetevõinek modosításához kattints a szoftverre a listában, majd kattints a Hozzáadás/eltávolítás gombra.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Hozzáadás/eltávolítás", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Telepítõ" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Create link" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Text1", -1, 115, 15, 160, 24 - LTEXT "Text2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Create link" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Text1",-1,10,0,225,40 - LTEXT "Text2",-1,10,40,120,20 - LTEXT "Text3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Szoftverek hozzáadása és eltávolítása" - IDS_CPLSYSTEMDESCRIPTION "Telepíti a szoftvert és létrehozza a parancsikonokat hozzá." -END +// Hungarian resource file by Robert Horvath - talley at cubeclub.hu +LANGUAGE LANG_HUNGARIAN, SUBLANG_NEUTRAL + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Telepítés és eltávolítás" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "Egy új program telepítéséhez kattints a Telepítés gombra",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "&Telepítés...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "A következõ szoftvereket lehet eltávolítani. A szoftver törléséhez vagy összetevõinek modosításához kattints a szoftverre a listában, majd kattints a Hozzáadás/eltávolítás gombra.",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT + PUSHBUTTON "Hozzáadás/eltávolítás", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Reactos Telepítõ" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Create link" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Text1", -1, 115, 15, 160, 24 + LTEXT "Text2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Create link" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Text1",-1,10,0,225,40 + LTEXT "Text2",-1,10,40,120,20 + LTEXT "Text3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Szoftverek hozzáadása és eltávolítása" + IDS_CPLSYSTEMDESCRIPTION "Telepíti a szoftvert és létrehozza a parancsikonokat hozzá." +END Propchange: trunk/reactos/dll/cpl/appwiz/Hu.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/cpl/appwiz/It.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/It.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/It.rc (original) +++ trunk/reactos/dll/cpl/appwiz/It.rc Tue Jul 11 21:52:38 2006 @@ -1,51 +1,51 @@ -LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Installa/Disinstalla" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "Per installare un nuovo programma, clicca su Installa",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "&Installa...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - CONTROL "&Mostra aggiornamenti",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 - LTEXT "Il Software seguente può essere rimosso automaticamente. Per rimuovere un programma o modifarne i componenti installati, selezionalo dalla lista e clicca su Aggiungi/Rimuovi.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Modifica/&Rimuovi", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Setup" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Crea collegamento" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Text1", -1, 115, 15, 160, 24 - LTEXT "Text2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Crea collegamento" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Testo1",-1,10,0,225,40 - LTEXT "Testo2",-1,10,40,120,20 - LTEXT "Testo3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Aggiungi/Rimuovi programmi" - IDS_CPLSYSTEMDESCRIPTION "Installa i programmi e crea i collegamenti." -END +LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Installa/Disinstalla" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "Per installare un nuovo programma, clicca su Installa",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "&Installa...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Mostra aggiornamenti",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "Il Software seguente può essere rimosso automaticamente. Per rimuovere un programma o modifarne i componenti installati, selezionalo dalla lista e clicca su Aggiungi/Rimuovi.",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT + PUSHBUTTON "Modifica/&Rimuovi", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "ReactOS Setup" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Crea collegamento" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Text1", -1, 115, 15, 160, 24 + LTEXT "Text2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Crea collegamento" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Testo1",-1,10,0,225,40 + LTEXT "Testo2",-1,10,40,120,20 + LTEXT "Testo3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Aggiungi/Rimuovi programmi" + IDS_CPLSYSTEMDESCRIPTION "Installa i programmi e crea i collegamenti." +END Propchange: trunk/reactos/dll/cpl/appwiz/It.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/cpl/appwiz/Ja.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Ja.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Ja.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Ja.rc Tue Jul 11 21:52:38 2006 @@ -19,7 +19,7 @@ IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Setup" +CAPTION "ReactOS Setup" FONT 9, "MS UI Gothic", 0, 0, 0x0 BEGIN Modified: trunk/reactos/dll/cpl/appwiz/Nl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Nl.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Nl.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Nl.rc Tue Jul 11 21:52:38 2006 @@ -19,7 +19,7 @@ IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Reactos Setup" +CAPTION "ReactOS Setup" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN Modified: trunk/reactos/dll/cpl/appwiz/Pl.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Pl.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Pl.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Pl.rc Tue Jul 11 21:52:38 2006 @@ -1,53 +1,53 @@ -//Polish translation Emil Kaczmarek 2005 - -LANGUAGE LANG_POLISH, SUBLANG_NEUTRAL - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Zainstaluj/Odinstaluj" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "¯eby zainstalowaæ nowy program, kliknij Instaluj",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "&Instaluj...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 - LTEXT "Nastêpuj¹ce oprogramowanie mo¿e byæ automatycznie usuniête. ¯eby usun¹c program, albo zmodyfikowaæ zainstalowane komponenty, wybierz program z listy i kliknij Dodaj/Usuñ.",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT - PUSHBUTTON "Dodaj/&Usuñ", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Instalator ReactOS" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Stwórz odnonik" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Tekst1", -1, 115, 15, 160, 24 - LTEXT "Tekst2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Stwórz odnonik" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Tekst1",-1,10,0,225,40 - LTEXT "Tekst2",-1,10,40,120,20 - LTEXT "Tekst3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Dodaj/Usuñ programy" - IDS_CPLSYSTEMDESCRIPTION "Ustawia nowe programy i tworzy skróty." -END +//Polish translation Emil Kaczmarek 2005 + +LANGUAGE LANG_POLISH, SUBLANG_NEUTRAL + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Zainstaluj/Odinstaluj" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "¯eby zainstalowaæ nowy program, kliknij Instaluj",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "&Instaluj...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Show updates",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "Nastêpuj¹ce oprogramowanie mo¿e byæ automatycznie usuniête. ¯eby usun¹c program, albo zmodyfikowaæ zainstalowane komponenty, wybierz program z listy i kliknij Dodaj/Usuñ.",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 75, LBS_STANDARD | WS_TABSTOP | LBS_NOINTEGRALHEIGHT + PUSHBUTTON "Dodaj/&Usuñ", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 200, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Instalator ReactOS" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Stwórz odnonik" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Tekst1", -1, 115, 15, 160, 24 + LTEXT "Tekst2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Stwórz odnonik" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Tekst1",-1,10,0,225,40 + LTEXT "Tekst2",-1,10,40,120,20 + LTEXT "Tekst3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Dodaj/Usuñ programy" + IDS_CPLSYSTEMDESCRIPTION "Ustawia nowe programy i tworzy skróty." +END Propchange: trunk/reactos/dll/cpl/appwiz/Pl.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/cpl/appwiz/Uk.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/appwiz/Uk.rc?rev=2…
============================================================================== --- trunk/reactos/dll/cpl/appwiz/Uk.rc (original) +++ trunk/reactos/dll/cpl/appwiz/Uk.rc Tue Jul 11 21:52:38 2006 @@ -1,59 +1,59 @@ -/* - * PROJECT: Software Control Panel Applet - * LICENSE: GPL - See COPYING in the top level directory - * FILE: dll/cpl/appwiz/Uk.rc - * PURPOSE: Ukraianian Language File for Software Control Panel Applet - * PROGRAMMERS: temarez - */ - -LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL - -IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Óñòàíîâèòè/Âèäàëèòè" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 - LTEXT "Ùîá óñòàíîâèòè íîâó ïðîãðàìó, íàòèñí³òü ""Óñòàíîâèòè""",-1,36,18,PROPSHEETWIDTH-48,8 - PUSHBUTTON "Óñ&òàíîâèòè...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 - LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN - - ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 - CONTROL "&Ïîêàçàòè îíîâëåííÿ",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 - LTEXT "Íèæ÷åíàâåäåí³ &ïðîãðàìè ìîæíà âèäàëèòè àáî ïåðåóñòàíîâèòè àâòîìàòè÷íî. Ùîá âèäàëèòè ïðîãðàìó àáî çì³íèòè ñêëàä óñòàíîâëåíèõ êîìïîíåíò³â, âèáåð³òü öþ ïðîãðàìó ç³ ñïèñêó é íàòèñí³òü êíîïêó ""Çàì³íèòè/Âèäàëèòè"".",-1,36,72,PROPSHEETWIDTH-48,32 - LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP - PUSHBUTTON "Çàì³íèòè/&Âèäàëèòè", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 -END - -IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Óñòàíîâêà êîìïîíåíò³â Reactos" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - -END - -IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Ñòâîðåííÿ ÿðëèêà" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Text1", -1, 115, 15, 160, 24 - LTEXT "Text2", -1, 115, 35, 160, 17 -END - -IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT -STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Ñòâîðåííÿ ÿðëèêà" -FONT 8, "MS Shell Dlg", 0, 0, 0x0 -BEGIN - LTEXT "Text1",-1,10,0,225,40 - LTEXT "Text2",-1,10,40,120,20 - LTEXT "Text3",-1,10,55,120,20 -END - -STRINGTABLE -BEGIN - IDS_CPLSYSTEMNAME "Óñòàíîâêà é âèäàëåííÿ ïðîãðàì" - IDS_CPLSYSTEMDESCRIPTION "Óñòàíîâêà ïðîãðàì ³ ñòâîðåííÿ ÿðëèê³â." -END +/* + * PROJECT: Software Control Panel Applet + * LICENSE: GPL - See COPYING in the top level directory + * FILE: dll/cpl/appwiz/Uk.rc + * PURPOSE: Ukraianian Language File for Software Control Panel Applet + * PROGRAMMERS: temarez + */ + +LANGUAGE LANG_UKRAINIAN, SUBLANG_NEUTRAL + +IDD_PROPPAGEINSTALL DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Óñòàíîâèòè/Âèäàëèòè" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,18,16,16 + LTEXT "Ùîá óñòàíîâèòè íîâó ïðîãðàìó, íàòèñí³òü ""Óñòàíîâèòè""",-1,36,18,PROPSHEETWIDTH-48,8 + PUSHBUTTON "Óñ&òàíîâèòè...", IDC_INSTALL, PROPSHEETWIDTH-(72), 36, 60, 14 + LTEXT "", -1, PROPSHEETPADDING, 63, PROPSHEETWIDTH-12, 1, NOT WS_GROUP | SS_SUNKEN + + ICON IDI_CPLSYSTEM,-1,PROPSHEETPADDING,76,16,16 + CONTROL "&Ïîêàçàòè îíîâëåííÿ",IDC_SHOWUPDATES,"button",BS_AUTOCHECKBOX | WS_TABSTOP,PROPSHEETPADDING, 105, 119, 18 + LTEXT "Íèæ÷åíàâåäåí³ &ïðîãðàìè ìîæíà âèäàëèòè àáî ïåðåóñòàíîâèòè àâòîìàòè÷íî. Ùîá âèäàëèòè ïðîãðàìó àáî çì³íèòè ñêëàä óñòàíîâëåíèõ êîìïîíåíò³â, âèáåð³òü öþ ïðîãðàìó ç³ ñïèñêó é íàòèñí³òü êíîïêó ""Çàì³íèòè/Âèäàëèòè"".",-1,36,72,PROPSHEETWIDTH-48,32 + LISTBOX IDC_SOFTWARELIST, PROPSHEETPADDING, 123, PROPSHEETWIDTH-12, 88, LBS_STANDARD | WS_TABSTOP + PUSHBUTTON "Çàì³íèòè/&Âèäàëèòè", IDC_ADDREMOVE, PROPSHEETWIDTH-72, 198, 60, 14 +END + +IDD_PROPPAGEROSSETUP DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Óñòàíîâêà êîìïîíåíò³â Reactos" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + +END + +IDD_FIRSTPAGE DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ñòâîðåííÿ ÿðëèêà" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Text1", -1, 115, 15, 160, 24 + LTEXT "Text2", -1, 115, 35, 160, 17 +END + +IDD_SUBMIT_REPORT DIALOGEX 0, 0, PROPSHEETWIDTH, PROPSHEETHEIGHT +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_DISABLED | WS_CAPTION +CAPTION "Ñòâîðåííÿ ÿðëèêà" +FONT 8, "MS Shell Dlg", 0, 0, 0x0 +BEGIN + LTEXT "Text1",-1,10,0,225,40 + LTEXT "Text2",-1,10,40,120,20 + LTEXT "Text3",-1,10,55,120,20 +END + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Óñòàíîâêà é âèäàëåííÿ ïðîãðàì" + IDS_CPLSYSTEMDESCRIPTION "Óñòàíîâêà ïðîãðàì ³ ñòâîðåííÿ ÿðëèê³â." +END Propchange: trunk/reactos/dll/cpl/appwiz/Uk.rc ------------------------------------------------------------------------------ svn:eol-style = native
18 years, 5 months
1
0
0
0
[ion] 23011: - Fix up some stuff in Kernel Gates support. - Fix up some implementation bugs in Executive Rundown support.
by ion@svn.reactos.org
Author: ion Date: Tue Jul 11 19:36:44 2006 New Revision: 23011 URL:
http://svn.reactos.org/svn/reactos?rev=23011&view=rev
Log: - Fix up some stuff in Kernel Gates support. - Fix up some implementation bugs in Executive Rundown support. Modified: trunk/reactos/include/ddk/winddk.h trunk/reactos/include/ndk/ketypes.h trunk/reactos/ntoskrnl/ex/rundown.c trunk/reactos/ntoskrnl/include/internal/ex.h trunk/reactos/ntoskrnl/include/internal/ob.h trunk/reactos/ntoskrnl/ke/gate.c (contents, props changed) Modified: trunk/reactos/include/ddk/winddk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/winddk.h?rev=2…
============================================================================== --- trunk/reactos/include/ddk/winddk.h (original) +++ trunk/reactos/include/ddk/winddk.h Tue Jul 11 19:36:44 2006 @@ -1157,6 +1157,10 @@ PVOID Ptr; }; } EX_RUNDOWN_REF, *PEX_RUNDOWN_REF; + +#define ASSERT_GATE(object) \ + ASSERT((((object)->Header.Type & KOBJECT_TYPE_MASK) == GateObject) || \ + (((object)->Header.Type & KOBJECT_TYPE_MASK) == EventSynchronizationObject)) typedef struct _KGATE { @@ -5240,6 +5244,10 @@ #define InterlockedCompareExchangePointer(Destination, Exchange, Comparand) \ ((PVOID) InterlockedCompareExchange((PLONG) Destination, (LONG) Exchange, (LONG) Comparand)) +#define InterlockedExchangeAddSizeT(a, b) InterlockedExchangeAdd((LONG *)a, b) +#define InterlockedIncrementSizeT(a) InterlockedIncrement((LONG *)a) +#define InterlockedDecrementSizeT(a) InterlockedDecrement((LONG *)a) + #endif /* !__INTERLOCKED_DECLARED */ NTOSAPI Modified: trunk/reactos/include/ndk/ketypes.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/ketypes.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/ketypes.h (original) +++ trunk/reactos/include/ndk/ketypes.h Tue Jul 11 19:36:44 2006 @@ -38,6 +38,11 @@ // Maximum System Descriptor Table Entries // #define SSDT_MAX_ENTRIES 2 + +// +// Object Type Mask for Kernel Dispatcher Objects +// +#define KOBJECT_TYPE_MASK 0x7F // // Dispatcher Priority increments @@ -240,7 +245,7 @@ Waiting, Transition, DeferredReady, -#if (NTDDI_VERSION >= NTDDI_LONGHORN) +#if (NTDDI_VERSION >= NTDDI_WS03) GateWait, #endif } KTHREAD_STATE, *PKTHREAD_STATE; Modified: trunk/reactos/ntoskrnl/ex/rundown.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/rundown.c?rev=…
============================================================================== --- trunk/reactos/ntoskrnl/ex/rundown.c (original) +++ trunk/reactos/ntoskrnl/ex/rundown.c Tue Jul 11 19:36:44 2006 @@ -148,7 +148,7 @@ ASSERT((RunRef->Count & EX_RUNDOWN_ACTIVE) != 0); /* Reset the count */ - InterlockedExchange((PLONG)&RunRef->Count, 0); + ExpSetRundown(&RunRef->Count, 0); } /*++ @@ -176,7 +176,7 @@ ASSERT((RunRef->Count & EX_RUNDOWN_ACTIVE) != 0); /* Mark the counter as active */ - InterlockedExchange((PLONG)&RunRef->Count, EX_RUNDOWN_ACTIVE); + ExpSetRundown(&RunRef->Count, EX_RUNDOWN_ACTIVE); } /*++ @@ -227,7 +227,7 @@ ASSERT((WaitBlock->Count > 0) || (KeNumberProcessors > 1)); /* Remove the one count */ - if (InterlockedExchangeAddSizeT(&WaitBlock->Count, -1)) + if (!InterlockedDecrementSizeT(&WaitBlock->Count)) { /* We're down to 0 now, so signal the event */ KeSetEvent(&WaitBlock->WakeEvent, IO_NO_INCREMENT, FALSE); @@ -286,7 +286,7 @@ ASSERT((WaitBlock->Count >= Count) || (KeNumberProcessors > 1)); /* Remove the count */ - if (InterlockedExchangeAddSizeT(WaitBlock->Count, -(LONG)Count) == + if (InterlockedExchangeAddSizeT(&WaitBlock->Count, -(LONG)Count) == (LONG)Count) { /* We're down to 0 now, so signal the event */ Modified: trunk/reactos/ntoskrnl/include/internal/ex.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ex.h (original) +++ trunk/reactos/ntoskrnl/include/internal/ex.h Tue Jul 11 19:36:44 2006 @@ -7,6 +7,8 @@ extern LARGE_INTEGER ExpTimeZoneBias; extern ULONG ExpTimeZoneId; extern POBJECT_TYPE ExEventPairObjectType; + +#define MAX_FAST_REFS 7 #define EX_OBJ_TO_HDR(eob) ((POBJECT_HEADER)((ULONG_PTR)(eob) & \ ~(EX_HANDLE_ENTRY_PROTECTFROMCLOSE | EX_HANDLE_ENTRY_INHERITABLE | \ Modified: trunk/reactos/ntoskrnl/include/internal/ob.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/ob.h (original) +++ trunk/reactos/ntoskrnl/include/internal/ob.h Tue Jul 11 19:36:44 2006 @@ -292,6 +292,12 @@ IN PEX_FAST_REF FastRef ); +PVOID +FASTCALL +ObFastReferenceObjectLocked( + IN PEX_FAST_REF FastRef +); + VOID FASTCALL ObFastDereferenceObject( Modified: trunk/reactos/ntoskrnl/ke/gate.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/gate.c?rev=230…
============================================================================== --- trunk/reactos/ntoskrnl/ke/gate.c (original) +++ trunk/reactos/ntoskrnl/ke/gate.c Tue Jul 11 19:36:44 2006 @@ -9,6 +9,7 @@ /* INCLUDES *****************************************************************/ +#define NTDDI_VERSION NTDDI_WS03 #include <ntoskrnl.h> #define NDEBUG #include <internal/debug.h> @@ -30,67 +31,68 @@ VOID FASTCALL -KeWaitForGate(PKGATE Gate, - KWAIT_REASON WaitReason, - KPROCESSOR_MODE WaitMode) +KeWaitForGate(IN PKGATE Gate, + IN KWAIT_REASON WaitReason, + IN KPROCESSOR_MODE WaitMode) { KIRQL OldIrql; PKTHREAD CurrentThread = KeGetCurrentThread(); PKWAIT_BLOCK GateWaitBlock; NTSTATUS Status; + ASSERT_GATE(Gate); + ASSERT_IRQL_LESS_OR_EQUAL(DISPATCH_LEVEL); - DPRINT("KeWaitForGate(Gate %x)\n", Gate); - + /* Start wait loop */ do { - /* Lock the APC Queue */ + /* Lock the dispatcher */ OldIrql = KeAcquireDispatcherDatabaseLock(); - - /* Check if it's already signaled */ - if (Gate->Header.SignalState) + + /* Check if a kernel APC is pending and we're below APC_LEVEL */ + if ((CurrentThread->ApcState.KernelApcPending) && + !(CurrentThread->SpecialApcDisable) && (OldIrql < APC_LEVEL)) { - /* Unsignal it */ - Gate->Header.SignalState = 0; + /* Unlock the dispatcher, this will fire the APC */ + KeReleaseDispatcherDatabaseLock(OldIrql); + } + else + { + /* Check if it's already signaled */ + if (Gate->Header.SignalState) + { + /* Unsignal it */ + Gate->Header.SignalState = 0; - /* Unlock the Queue and return */ - KeReleaseDispatcherDatabaseLock(OldIrql); - return; + /* Unlock the Queue and return */ + KeReleaseDispatcherDatabaseLock(OldIrql); + return; + } + + /* Setup a Wait Block */ + GateWaitBlock = &CurrentThread->WaitBlock[0]; + GateWaitBlock->Object = (PVOID)Gate; + GateWaitBlock->Thread = CurrentThread; + + /* Set the Thread Wait Data */ + CurrentThread->WaitMode = WaitMode; + CurrentThread->WaitReason = WaitReason; + CurrentThread->WaitIrql = OldIrql; + CurrentThread->State = GateWait; + CurrentThread->GateObject = Gate; + + /* Insert into the Wait List */ + InsertTailList(&Gate->Header.WaitListHead, + &GateWaitBlock->WaitListEntry); + + /* Handle Kernel Queues */ + if (CurrentThread->Queue) KiWakeQueue(CurrentThread->Queue); + + /* Find a new thread to run */ + Status = KiSwapThread(); + + /* Check if we were executing an APC */ + if (Status != STATUS_KERNEL_APC) return; } - - /* Setup a Wait Block */ - GateWaitBlock = &CurrentThread->WaitBlock[0]; - GateWaitBlock->Object = (PVOID)Gate; - GateWaitBlock->Thread = CurrentThread; - - /* Set the Thread Wait Data */ - CurrentThread->WaitIrql = OldIrql; - CurrentThread->GateObject = Gate; - - /* Insert into the Wait List */ - InsertTailList(&Gate->Header.WaitListHead, - &GateWaitBlock->WaitListEntry); - - /* Handle Kernel Queues */ - if (CurrentThread->Queue) - { - DPRINT("Waking Queue\n"); - KiWakeQueue(CurrentThread->Queue); - } - - /* Setup the wait information */ - CurrentThread->WaitMode = WaitMode; - CurrentThread->WaitReason = WaitReason; - CurrentThread->WaitTime = ((PLARGE_INTEGER)&KeTickCount)->LowPart; - CurrentThread->State = Waiting; - - /* Find a new thread to run */ - DPRINT("Swapping threads\n"); - Status = KiSwapThread(); - - /* Check if we were executing an APC */ - if (Status != STATUS_KERNEL_APC) return; - - DPRINT("Looping Again\n"); } while (TRUE); } @@ -102,8 +104,8 @@ PKWAIT_BLOCK WaitBlock; KIRQL OldIrql; NTSTATUS WaitStatus = STATUS_SUCCESS; - - DPRINT("KeSignalGateBoostPriority(EveGate %x)\n", Gate); + ASSERT_GATE(Gate); + ASSERT_IRQL_LESS_OR_EQUAL(DISPATCH_LEVEL); /* Acquire Dispatcher Database Lock */ OldIrql = KeAcquireDispatcherDatabaseLock(); @@ -111,33 +113,31 @@ /* Make sure we're not already signaled or that the list is empty */ if (Gate->Header.SignalState) goto quit; - /* If our wait list is empty, then signal the event and return */ + /* Check if our wait list is empty */ if (IsListEmpty(&Gate->Header.WaitListHead)) { + /* It is, so signal the event */ Gate->Header.SignalState = 1; - goto quit; } + else + { + /* Get WaitBlock */ + WaitBlock = CONTAINING_RECORD(Gate->Header.WaitListHead.Flink, + KWAIT_BLOCK, + WaitListEntry); - /* Get WaitBlock */ - WaitBlock = CONTAINING_RECORD(Gate->Header.WaitListHead.Flink, - KWAIT_BLOCK, - WaitListEntry); - /* Remove it */ - RemoveEntryList(&WaitBlock->WaitListEntry); + /* Remove it */ + RemoveEntryList(&WaitBlock->WaitListEntry); - /* Get the Associated thread */ - WaitThread = WaitBlock->Thread; + /* Get the Associated thread */ + WaitThread = WaitBlock->Thread; - /* Increment the Queue's active threads */ - if (WaitThread->Queue) - { - DPRINT("Incrementing Queue's active threads\n"); - WaitThread->Queue->CurrentCount++; + /* Increment the Queue's active threads */ + if (WaitThread->Queue) WaitThread->Queue->CurrentCount++; + + /* Reschedule the Thread */ + KiUnblockThread(WaitThread, &WaitStatus, EVENT_INCREMENT); } - - /* Reschedule the Thread */ - DPRINT("Unblocking the Thread\n"); - KiUnblockThread(WaitThread, &WaitStatus, EVENT_INCREMENT); quit: /* Release the Dispatcher Database Lock */ Propchange: trunk/reactos/ntoskrnl/ke/gate.c ------------------------------------------------------------------------------ --- svn:needs-lock (original) +++ svn:needs-lock (removed) @@ -1,1 +1,0 @@ -*
18 years, 5 months
1
0
0
0
[hpoussin] 23010: Don't change PortData pointer, as it is allocated memory, and so, it is easier to free it when needed.
by hpoussin@svn.reactos.org
Author: hpoussin Date: Tue Jul 11 17:38:59 2006 New Revision: 23010 URL:
http://svn.reactos.org/svn/reactos?rev=23010&view=rev
Log: Don't change PortData pointer, as it is allocated memory, and so, it is easier to free it when needed. Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.c trunk/reactos/drivers/input/mouclass/mouclass.c Modified: trunk/reactos/drivers/input/kbdclass/kbdclass.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/kbdclass/kbd…
============================================================================== --- trunk/reactos/drivers/input/kbdclass/kbdclass.c (original) +++ trunk/reactos/drivers/input/kbdclass/kbdclass.c Tue Jul 11 17:38:59 2006 @@ -370,6 +370,11 @@ DeviceExtension->ReadIsPending = FALSE; DeviceExtension->InputCount = 0; DeviceExtension->PortData = ExAllocatePool(NonPagedPool, DeviceExtension->DriverExtension->DataQueueSize * sizeof(KEYBOARD_INPUT_DATA)); + if (!DeviceExtension->PortData) + { + ExFreePool(DeviceNameU.Buffer); + return STATUS_INSUFFICIENT_RESOURCES; + } Fdo->Flags |= DO_POWER_PAGABLE; Fdo->Flags |= DO_BUFFERED_IO; /* FIXME: Why is it needed for 1st stage setup? */ Fdo->Flags &= ~DO_DEVICE_INITIALIZING; @@ -509,13 +514,12 @@ * Move the input data from the port data queue to our class data * queue. */ - RtlMoveMemory( - ClassDeviceExtension->PortData, + RtlCopyMemory( + &ClassDeviceExtension->PortData[ClassDeviceExtension->InputCount], (PCHAR)DataStart, sizeof(KEYBOARD_INPUT_DATA) * ReadSize); - /* Move the pointer and counter up */ - ClassDeviceExtension->PortData += ReadSize; + /* Move the counter up */ ClassDeviceExtension->InputCount += ReadSize; (*ConsumedCount) += ReadSize; @@ -681,6 +685,8 @@ return STATUS_SUCCESS; cleanup: + if (!(Fdo->Flags & DO_DEVICE_INITIALIZING)) + DPRINT1("FIXME: Need to send IOCTL_INTERNAL_*_DISCONNECT\n"); if (DeviceExtension) { if (DeviceExtension->LowerDevice) @@ -717,19 +723,18 @@ Status = FillOneEntry( DeviceObject, Irp, - DeviceExtension->PortData - DeviceExtension->InputCount); + &DeviceExtension->PortData[DeviceExtension->InputCount - 1]); if (NT_SUCCESS(Status)) { if (DeviceExtension->InputCount > 1) { RtlMoveMemory( - DeviceExtension->PortData - DeviceExtension->InputCount, - DeviceExtension->PortData - DeviceExtension->InputCount + 1, + &DeviceExtension->PortData[1], + &DeviceExtension->PortData[0], (DeviceExtension->InputCount - 1) * sizeof(KEYBOARD_INPUT_DATA)); } - DeviceExtension->PortData--; DeviceExtension->InputCount--; DeviceExtension->ReadIsPending = FALSE; Modified: trunk/reactos/drivers/input/mouclass/mouclass.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/input/mouclass/mou…
============================================================================== --- trunk/reactos/drivers/input/mouclass/mouclass.c (original) +++ trunk/reactos/drivers/input/mouclass/mouclass.c Tue Jul 11 17:38:59 2006 @@ -347,6 +347,11 @@ DeviceExtension->ReadIsPending = FALSE; DeviceExtension->InputCount = 0; DeviceExtension->PortData = ExAllocatePool(NonPagedPool, DeviceExtension->DriverExtension->DataQueueSize * sizeof(MOUSE_INPUT_DATA)); + if (!DeviceExtension->PortData) + { + ExFreePool(DeviceNameU.Buffer); + return STATUS_INSUFFICIENT_RESOURCES; + } Fdo->Flags |= DO_POWER_PAGABLE; Fdo->Flags &= ~DO_DEVICE_INITIALIZING; @@ -485,13 +490,12 @@ * Move the input data from the port data queue to our class data * queue. */ - RtlMoveMemory( - ClassDeviceExtension->PortData, + RtlCopyMemory( + &ClassDeviceExtension->PortData[ClassDeviceExtension->InputCount], (PCHAR)DataStart, sizeof(MOUSE_INPUT_DATA) * ReadSize); - /* Move the pointer and counter up */ - ClassDeviceExtension->PortData += ReadSize; + /* Move the counter up */ ClassDeviceExtension->InputCount += ReadSize; (*ConsumedCount) += ReadSize; @@ -657,6 +661,8 @@ return STATUS_SUCCESS; cleanup: + if (!(Fdo->Flags & DO_DEVICE_INITIALIZING)) + DPRINT1("FIXME: Need to send IOCTL_INTERNAL_*_DISCONNECT\n"); if (DeviceExtension) { if (DeviceExtension->LowerDevice) @@ -693,19 +699,18 @@ Status = FillOneEntry( DeviceObject, Irp, - DeviceExtension->PortData - DeviceExtension->InputCount); + &DeviceExtension->PortData[DeviceExtension->InputCount - 1]); if (NT_SUCCESS(Status)) { if (DeviceExtension->InputCount > 1) { RtlMoveMemory( - DeviceExtension->PortData - DeviceExtension->InputCount, - DeviceExtension->PortData - DeviceExtension->InputCount + 1, + &DeviceExtension->PortData[1], + &DeviceExtension->PortData[0], (DeviceExtension->InputCount - 1) * sizeof(MOUSE_INPUT_DATA)); } - DeviceExtension->PortData--; DeviceExtension->InputCount--; DeviceExtension->ReadIsPending = FALSE;
18 years, 5 months
1
0
0
0
[hpoussin] 23009: [FORMATTING] Replace tabs by spaces. No code change
by hpoussin@svn.reactos.org
Author: hpoussin Date: Tue Jul 11 17:01:00 2006 New Revision: 23009 URL:
http://svn.reactos.org/svn/reactos?rev=23009&view=rev
Log: [FORMATTING] Replace tabs by spaces. No code change Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/input.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/input.c (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/input.c Tue Jul 11 17:01:00 2006 @@ -158,27 +158,27 @@ VOID STDCALL ScreenSaverThreadMain(PVOID StartContext) { - KEVENT Event; - LARGE_INTEGER Timeout; - LARGE_INTEGER DelayTimer; - LARGE_INTEGER CurrentTime; - LARGE_INTEGER DiffTimeMouse; - LARGE_INTEGER DiffTimeKeyboard; - UINT ScreenSaverTimeOut = 0; - BOOL nPreviousState = FALSE; - NTSTATUS Status; - - - KeSetPriorityThread(&PsGetCurrentThread()->Tcb, - LOW_REALTIME_PRIORITY + 3); - - KeQuerySystemTime(&MouseInputCurrentTime); - KeQuerySystemTime(&KeyboardInputCurrentTime); - - DelayTimer.QuadPart = -10000000LL; /* 1 second timeout */ - - for(;;) - { + KEVENT Event; + LARGE_INTEGER Timeout; + LARGE_INTEGER DelayTimer; + LARGE_INTEGER CurrentTime; + LARGE_INTEGER DiffTimeMouse; + LARGE_INTEGER DiffTimeKeyboard; + UINT ScreenSaverTimeOut = 0; + BOOL nPreviousState = FALSE; + NTSTATUS Status; + + + KeSetPriorityThread(&PsGetCurrentThread()->Tcb, + LOW_REALTIME_PRIORITY + 3); + + KeQuerySystemTime(&MouseInputCurrentTime); + KeQuerySystemTime(&KeyboardInputCurrentTime); + + DelayTimer.QuadPart = -10000000LL; /* 1 second timeout */ + + for(;;) + { DPRINT("Screen Saver auto start Thread Waiting for start event\n"); Status = KeWaitForSingleObject(&InputThreadsStart, 0, @@ -186,61 +186,61 @@ TRUE, NULL); DPRINT("Screen Saver auto start Thread Starting...\n"); - while(InputThreadsRunning) - { - - IntSystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, &ScreenSaverTimeOut, 0); - IntSystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, &nPreviousState, 0); - - Timeout.QuadPart = ((LONGLONG)ScreenSaverTimeOut) * 10000000LL; - - KeInitializeEvent(&Event, NotificationEvent, FALSE); - Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DelayTimer); - - if(Status == STATUS_ALERTED && !InputThreadsRunning) + while(InputThreadsRunning) + { + + IntSystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, &ScreenSaverTimeOut, 0); + IntSystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, &nPreviousState, 0); + + Timeout.QuadPart = ((LONGLONG)ScreenSaverTimeOut) * 10000000LL; + + KeInitializeEvent(&Event, NotificationEvent, FALSE); + Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DelayTimer); + + if(Status == STATUS_ALERTED && !InputThreadsRunning) { break; - } + } if(!NT_SUCCESS(Status)) { DPRINT1("Win32K: Failed to read from Screen Saver auto thread.\n"); return; //(Status); } - + KeQuerySystemTime(&CurrentTime); - DiffTimeMouse.QuadPart = CurrentTime.QuadPart - MouseInputCurrentTime.QuadPart; - DiffTimeKeyboard.QuadPart = CurrentTime.QuadPart - KeyboardInputCurrentTime.QuadPart; - - if ( (DiffTimeMouse.QuadPart >= Timeout.QuadPart) && - (DiffTimeKeyboard.QuadPart >= Timeout.QuadPart) && - (nPreviousState == FALSE)) - { - BOOL nPreviousState = FALSE; - DPRINT1("Keyboard and Mouse TimeOut Starting Screen Saver ...\n"); - DPRINT1(" %I64d Keyboard Timeout Value\n",DiffTimeKeyboard.QuadPart); - DPRINT1(" %I64d Mouse Timeout Value \n",DiffTimeMouse.QuadPart); - DPRINT1(" %I64d TimeOut \n",DiffTimeMouse.QuadPart); - - CSR_API_MESSAGE Request; - CsrInit(); - Request.Type = MAKE_CSR_API(START_SCREEN_SAVER, CSR_GUI); - Request.Data.StartScreenSaver.Start = TRUE; - co_CsrNotifyScreenSaver(&Request ); - - IntSystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); - } - - if ( (DiffTimeMouse.QuadPart < Timeout.QuadPart) && - (DiffTimeKeyboard.QuadPart < Timeout.QuadPart) && - (nPreviousState == TRUE)) - { + DiffTimeMouse.QuadPart = CurrentTime.QuadPart - MouseInputCurrentTime.QuadPart; + DiffTimeKeyboard.QuadPart = CurrentTime.QuadPart - KeyboardInputCurrentTime.QuadPart; + + if ( (DiffTimeMouse.QuadPart >= Timeout.QuadPart) && + (DiffTimeKeyboard.QuadPart >= Timeout.QuadPart) && + (nPreviousState == FALSE)) + { + BOOL nPreviousState = FALSE; + DPRINT("Keyboard and Mouse TimeOut Starting Screen Saver ...\n"); + DPRINT(" %I64d Keyboard Timeout Value\n",DiffTimeKeyboard.QuadPart); + DPRINT(" %I64d Mouse Timeout Value \n",DiffTimeMouse.QuadPart); + DPRINT(" %I64d TimeOut \n",DiffTimeMouse.QuadPart); + + CSR_API_MESSAGE Request; + CsrInit(); + Request.Type = MAKE_CSR_API(START_SCREEN_SAVER, CSR_GUI); + Request.Data.StartScreenSaver.Start = TRUE; + co_CsrNotifyScreenSaver(&Request ); + + IntSystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); + } + + if ( (DiffTimeMouse.QuadPart < Timeout.QuadPart) && + (DiffTimeKeyboard.QuadPart < Timeout.QuadPart) && + (nPreviousState == TRUE)) + { IntSystemParametersInfo(SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0); - } - - - } - DPRINT("Screen Saver auto start Thread Stopped...\n"); - } + } + + + } + DPRINT("Screen Saver auto start Thread Stopped...\n"); + } } @@ -263,7 +263,7 @@ KEVENT Event; DueTime.QuadPart = (LONGLONG)(-10000000); KeInitializeEvent(&Event, NotificationEvent, FALSE); - Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DueTime); + Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DueTime); Status = NtOpenFile(&MouseDeviceHandle, FILE_ALL_ACCESS, &MouseObjectAttributes, @@ -319,8 +319,8 @@ } DPRINT("MouseEvent\n"); - KeQuerySystemTime(&MouseInputCurrentTime); - + KeQuerySystemTime(&MouseInputCurrentTime); + UserEnterExclusive(); ProcessMouseInputData(&MouseInput, Iosb.Information / sizeof(MOUSE_INPUT_DATA)); @@ -531,7 +531,7 @@ KEVENT Event; DueTime.QuadPart = (LONGLONG)(-10000000); KeInitializeEvent(&Event, NotificationEvent, FALSE); - Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DueTime); + Status = KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, &DueTime); Status = NtOpenFile(&KeyboardDeviceHandle, FILE_ALL_ACCESS, &KeyboardObjectAttributes, @@ -589,10 +589,10 @@ HWND hWnd; int id; - DPRINT("KeyInput @ %08x\n", &KeyInput); + DPRINT("KeyInput @ %08x\n", &KeyInput); Status = NtReadFile (KeyboardDeviceHandle, - NULL, + NULL, NULL, NULL, &Iosb, @@ -629,7 +629,7 @@ return; //(Status); } - KeQuerySystemTime(&KeyboardInputCurrentTime); + KeQuerySystemTime(&KeyboardInputCurrentTime); /* Update modifier state */ fsModifiers = IntKeyboardGetModifiers(&KeyInput); @@ -878,7 +878,7 @@ InitInputImpl(VOID) { NTSTATUS Status; - + KeInitializeEvent(&InputThreadsStart, NotificationEvent, FALSE); Status = PsCreateSystemThread(&KeyboardThreadHandle,
18 years, 6 months
1
0
0
0
[winesync] 23008: Autosyncing with Wine HEAD
by winesync@svn.reactos.org
Author: winesync Date: Tue Jul 11 01:39:10 2006 New Revision: 23008 URL:
http://svn.reactos.org/svn/reactos?rev=23008&view=rev
Log: Autosyncing with Wine HEAD Modified: trunk/reactos/dll/win32/crypt32/crypt32.rc Modified: trunk/reactos/dll/win32/crypt32/crypt32.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/crypt32/crypt32.…
============================================================================== --- trunk/reactos/dll/win32/crypt32/crypt32.rc (original) +++ trunk/reactos/dll/win32/crypt32/crypt32.rc Tue Jul 11 01:39:10 2006 @@ -17,12 +17,18 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "CryptoAPI Library\0" +#define REACTOS_STR_INTERNAL_NAME "crypt32\0" +#define REACTOS_STR_ORIGINAL_FILENAME "crypt32.dll\0" + #include "windef.h" #include "winbase.h" #include "winuser.h" #include "cryptres.h" -#include "version.rc" +#include <reactos/version.rc> #include "crypt32_De.rc" #include "crypt32_En.rc"
18 years, 6 months
1
0
0
0
← Newer
1
...
36
37
38
39
40
41
42
...
67
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
66
67
Results per page:
10
25
50
100
200