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
May 2016
----- 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
18 participants
260 discussions
Start a n
N
ew thread
[pschweitzer] 71409: [NTOSKRNL] Cherry pick r71407 by Trevor Thompson: - Rewrote FsRtlGetNextBaseMcbEntry(), FsRtlLookupBaseMcbEntry(), and FsRtlNumberOfRunsInBaseMcb() using simpler logic. This fi...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Thu May 26 16:35:45 2016 New Revision: 71409 URL:
http://svn.reactos.org/svn/reactos?rev=71409&view=rev
Log: [NTOSKRNL] Cherry pick r71407 by Trevor Thompson: - Rewrote FsRtlGetNextBaseMcbEntry(), FsRtlLookupBaseMcbEntry(), and FsRtlNumberOfRunsInBaseMcb() using simpler logic. This finally fixes broken MCB handling in ReactOS and allows FSDs relying on MCB to properly work in ReactOS! CORE-11002 #resolve #comment Fixed in r71409 Modified: trunk/reactos/ntoskrnl/fsrtl/largemcb.c Modified: trunk/reactos/ntoskrnl/fsrtl/largemcb.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/fsrtl/largemcb.c?…
============================================================================== --- trunk/reactos/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] Thu May 26 16:35:45 2016 @@ -5,6 +5,7 @@ * PURPOSE: Large Mapped Control Block (MCB) support for File System Drivers * PROGRAMMERS: Aleksey Bragin <aleksey(a)reactos.org> * Jan Kratochvil <project-captive(a)jankratochvil.net> + * Trevor Thompson */ /* INCLUDES ******************************************************************/ @@ -42,11 +43,13 @@ PLARGE_MCB_MAPPING Mapping; } BASE_MCB_INTERNAL, *PBASE_MCB_INTERNAL; +/* static LARGE_MCB_MAPPING_ENTRY StaticRunBelow0 = { - {{-1}}, /* ignored */ + {{-1}}, // ignored {{0}}, - {{-1}}, /* ignored */ + {{-1}}, // ignored }; +*/ static PVOID NTAPI McbMappingAllocate(PRTL_GENERIC_TABLE Table, CLONG Bytes) { @@ -321,103 +324,59 @@ BOOLEAN NTAPI FsRtlGetNextBaseMcbEntry(IN PBASE_MCB OpaqueMcb, - IN ULONG RunIndex, - OUT PLONGLONG Vbn, - OUT PLONGLONG Lbn, - OUT PLONGLONG SectorCount) + IN ULONG RunIndex, + OUT PLONGLONG Vbn, + OUT PLONGLONG Lbn, + OUT PLONGLONG SectorCount) { BOOLEAN Result = FALSE; PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - ULONG RunIndexRemaining; - PLARGE_MCB_MAPPING_ENTRY Run, RunFound = NULL, RunFoundLower = NULL, RunFoundHigher = NULL; - BOOLEAN First = TRUE; - - DPRINT("FsRtlGetNextBaseMcbEntry(%p, %d, %p, %p, %p)\n", OpaqueMcb, RunIndex, Vbn, Lbn, SectorCount); - - RunIndexRemaining = RunIndex; - - /* Traverse the tree */ + PLARGE_MCB_MAPPING_ENTRY Run = NULL; + ULONG CurrentIndex = 0; + ULONGLONG LastVbn = 0; + ULONGLONG LastSectorCount = 0; + + // Traverse the tree for (Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, TRUE); - Run; + Run; Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, FALSE)) { - if (First) + // is the current index a hole? + if (Run->RunStartVbn.QuadPart > (LastVbn + LastSectorCount)) { - /* Take care when we must emulate missing 'hole' run at start of our run list. */ - if (Run->RunStartVbn.QuadPart > 0) + // Is this the index we're looking for? + if (RunIndex == CurrentIndex) { - if (RunIndexRemaining == 0) - { - RunFoundLower = &StaticRunBelow0; - RunFoundHigher = Run; - - /* stop the traversal */ - break; - } - /* If someone wants RunIndex #1 we are already on it. */ - RunIndexRemaining--; + *Vbn = LastVbn + LastSectorCount; + *Lbn = -1; + *SectorCount = Run->RunStartVbn.QuadPart - *Vbn; + + Result = TRUE; + goto quit; } - First = FALSE; + + CurrentIndex++; } - if (RunIndexRemaining > 0) + if (RunIndex == CurrentIndex) { - /* FIXME: performance: non-linear direct seek to the requested RunIndex */ - RunIndexRemaining--; - if (RunIndexRemaining == 0) - RunFoundLower = Run; - else - RunIndexRemaining--; - - /* continue the traversal */ - continue; + *Vbn = Run->RunStartVbn.QuadPart; + *Lbn = Run->StartingLbn.QuadPart; + *SectorCount = Run->RunEndVbn.QuadPart - Run->RunStartVbn.QuadPart; + + Result = TRUE; + goto quit; } - if (RunFoundLower) - RunFoundHigher = Run; - else - RunFound = Run; - - /* stop the traversal */ - break; - } - - if (RunFound) DPRINT("RunFound(%lu %lu %lu)\n", RunFound->RunStartVbn.LowPart, RunFound->RunEndVbn.LowPart, RunFound->StartingLbn.LowPart); - if (RunFoundLower) DPRINT("RunFoundLower(%lu %lu %lu)\n", RunFoundLower->RunStartVbn.LowPart, RunFoundLower->RunEndVbn.LowPart, RunFoundLower->StartingLbn.LowPart); - if (RunFoundHigher) DPRINT("RunFoundHigher(%lu %lu %lu)\n", RunFoundHigher->RunStartVbn.LowPart, RunFoundHigher->RunEndVbn.LowPart, RunFoundHigher->StartingLbn.LowPart); - - if (RunFound) - { - ASSERT(RunFoundLower == NULL); - ASSERT(RunFoundHigher == NULL); - - if (Vbn) - *Vbn = RunFound->RunStartVbn.QuadPart; - if (Lbn) - *Lbn = RunFound->StartingLbn.QuadPart; - if (SectorCount) - *SectorCount = RunFound->RunEndVbn.QuadPart - RunFound->RunStartVbn.QuadPart; - - Result = TRUE; - goto quit; - } - - if (RunFoundLower && RunFoundHigher) - { - //ASSERT(RunFoundHigher != NULL); - - if (Vbn) - *Vbn = RunFoundLower->RunEndVbn.QuadPart; - if (Lbn) - *Lbn = -1; - if (SectorCount) - *SectorCount = RunFoundHigher->RunStartVbn.QuadPart - RunFoundLower->RunEndVbn.QuadPart; - - Result = TRUE; - goto quit; - } - - ASSERT(RunFoundHigher == NULL); + CurrentIndex++; + LastVbn = Run->RunStartVbn.QuadPart; + LastSectorCount = Run->RunEndVbn.QuadPart - Run->RunStartVbn.QuadPart; + } + + // these values are meaningless when returning false (but setting them can be helpful for debugging purposes) + *Vbn = 0xdeadbeef; + *Lbn = 0xdeadbeef; + *SectorCount = 0xdeadbeef; quit: DPRINT("FsRtlGetNextBaseMcbEntry(%p, %d, %p, %p, %p) = %d (%I64d, %I64d, %I64d)\n", Mcb, RunIndex, Vbn, Lbn, SectorCount, Result, *Vbn, *Lbn, *SectorCount); @@ -538,117 +497,55 @@ } /* - * @unimplemented + * @implemented */ BOOLEAN NTAPI FsRtlLookupBaseMcbEntry(IN PBASE_MCB OpaqueMcb, - IN LONGLONG Vbn, - OUT PLONGLONG Lbn OPTIONAL, - OUT PLONGLONG SectorCountFromLbn OPTIONAL, - OUT PLONGLONG StartingLbn OPTIONAL, - OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL, - OUT PULONG Index OPTIONAL) + IN LONGLONG Vbn, + OUT PLONGLONG Lbn OPTIONAL, + OUT PLONGLONG SectorCountFromLbn OPTIONAL, + OUT PLONGLONG StartingLbn OPTIONAL, + OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL, + OUT PULONG Index OPTIONAL) { BOOLEAN Result = FALSE; - PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - - ULONG RunIndex = 0; - PLARGE_MCB_MAPPING_ENTRY Run, RunFound = NULL, RunFoundLower = NULL, RunFoundHigher = NULL; - BOOLEAN First = TRUE; + ULONG i; + LONGLONG LastVbn = 0, LastLbn = 0, Count = 0; // the last values we've found during traversal DPRINT("FsRtlLookupBaseMcbEntry(%p, %I64d, %p, %p, %p, %p, %p)\n", OpaqueMcb, Vbn, Lbn, SectorCountFromLbn, StartingLbn, SectorCountFromStartingLbn, Index); - /* Traverse the tree */ - for (Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, TRUE); - Run; - Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, FALSE)) - { - if (First) + for (i = 0; FsRtlGetNextBaseMcbEntry(OpaqueMcb, i, &LastVbn, &LastLbn, &Count); i++) + { + // have we reached the target mapping? + if (Vbn < LastVbn + Count) { - /* Take care when we must emulate missing 'hole' run at start of our run list. */ - if (Run->RunStartVbn.QuadPart > 0) + if (Lbn) { - RunIndex++; - RunFoundLower = &StaticRunBelow0; + if (LastLbn == -1) + *Lbn = -1; + else + *Lbn = LastLbn + (Vbn - LastVbn); } - First = FALSE; + + if (SectorCountFromLbn) + *SectorCountFromLbn = LastVbn + Count - Vbn; + if (StartingLbn) + *StartingLbn = LastLbn; + if (SectorCountFromStartingLbn) + *SectorCountFromStartingLbn = LastVbn + Count - LastVbn; + if (Index) + *Index = i; + + Result = TRUE; + goto quit; } - - if (Run->RunStartVbn.QuadPart <= Vbn && Vbn < Run->RunEndVbn.QuadPart) - { - RunFound = Run; - RunFoundLower = NULL; - /* stop the traversal; hit */ - break; - } - - if (Run->RunEndVbn.QuadPart <= Vbn) - { - RunFoundLower = Run; - if (Run->StartingLbn.QuadPart > 0) - { - RunIndex += 2; - } - /* continue the traversal; not yet crossed by the run */ - continue; - } - - if (Vbn < Run->RunStartVbn.QuadPart) - { - RunFoundHigher = Run; - RunIndex++; - /* stop the traversal; the run skipped us */ - break; - } - - ASSERT(FALSE); - /* stop the traversal */ - break; - } - - if (RunFound) - { - ASSERT(RunFoundLower == NULL); - ASSERT(RunFoundHigher == NULL); - - if (Lbn) - *Lbn = RunFound->StartingLbn.QuadPart + (Vbn - RunFound->RunStartVbn.QuadPart); - - if (SectorCountFromLbn) /* FIXME: 'after' means including current 'Lbn' or without it? */ - *SectorCountFromLbn = RunFound->RunEndVbn.QuadPart - Vbn; - if (StartingLbn) - *StartingLbn = RunFound->StartingLbn.QuadPart; - if (SectorCountFromStartingLbn) - *SectorCountFromStartingLbn = RunFound->RunEndVbn.QuadPart - RunFound->RunStartVbn.QuadPart; - if (Index) - *Index = RunIndex; - - Result = TRUE; - goto quit; - } - - if (RunFoundHigher) - { - /* search for hole */ - ASSERT(RunFoundLower != NULL); - - if (Lbn) - *Lbn = ~0ull; - if (SectorCountFromLbn) /* FIXME: 'after' means including current 'Lbn' or without it? */ - *SectorCountFromLbn = RunFoundHigher->RunStartVbn.QuadPart - Vbn; - if (StartingLbn) - *StartingLbn = ~0ull; - if (SectorCountFromStartingLbn) - *SectorCountFromStartingLbn = RunFoundHigher->RunStartVbn.QuadPart - RunFoundLower->RunEndVbn.QuadPart; - if (Index) - *Index = RunIndex - 2; - - Result = TRUE; - goto quit; - } - - /* We may have some 'RunFoundLower'. */ + } + + if (Lbn) + *Lbn = -1; + if (StartingLbn) + *StartingLbn = -1; quit: DPRINT("FsRtlLookupBaseMcbEntry(%p, %I64d, %p, %p, %p, %p, %p) = %d (%I64d, %I64d, %I64d, %I64d, %d)\n", @@ -848,28 +745,18 @@ NTAPI FsRtlNumberOfRunsInBaseMcb(IN PBASE_MCB OpaqueMcb) { - PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - LONGLONG LbnAtVbn0 = -1; ULONG NumberOfRuns = 0; + LONGLONG Vbn, Lbn, Count; + int i; DPRINT("FsRtlNumberOfRunsInBaseMcb(%p)\n", OpaqueMcb); - if (Mcb->PairCount == 0) goto quit; - - FsRtlLookupBaseMcbEntry(OpaqueMcb, - 0, /* Vbn */ - &LbnAtVbn0, /* Lbn */ - NULL, NULL, NULL, NULL); /* 4 output arguments - not interested in them */ - - - /* Return the count */ - //return Mcb->PairCount; - /* Return the number of 'real' and 'hole' runs. - * If we do not have sector 0 as 'real' emulate a 'hole' there. - */ - NumberOfRuns = Mcb->PairCount * 2 - (LbnAtVbn0 != -1 ? 1 : 0); /* include holes as runs */ - -quit: + // Count how many Mcb entries there are + for (i = 0; FsRtlGetNextBaseMcbEntry(OpaqueMcb, i, &Vbn, &Lbn, &Count); i++) + { + NumberOfRuns++; + } + DPRINT("FsRtlNumberOfRunsInBaseMcb(%p) = %d\n", OpaqueMcb, NumberOfRuns); return NumberOfRuns; }
8 years, 7 months
1
0
0
0
[ekohl] 71408: [SERVMAN] GetServiceConfig: Use only the required access rights. Makes servman usable for non-admin users.
by ekohl@svn.reactos.org
Author: ekohl Date: Thu May 26 15:48:46 2016 New Revision: 71408 URL:
http://svn.reactos.org/svn/reactos?rev=71408&view=rev
Log: [SERVMAN] GetServiceConfig: Use only the required access rights. Makes servman usable for non-admin users. Modified: trunk/reactos/base/applications/mscutils/servman/query.c Modified: trunk/reactos/base/applications/mscutils/servman/query.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils…
============================================================================== --- trunk/reactos/base/applications/mscutils/servman/query.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/mscutils/servman/query.c [iso-8859-1] Thu May 26 15:48:46 2016 @@ -35,12 +35,12 @@ hSCManager = OpenSCManagerW(NULL, NULL, - SC_MANAGER_ALL_ACCESS); + SC_MANAGER_CONNECT); if (hSCManager) { hService = OpenServiceW(hSCManager, lpServiceName, - SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_QUERY_CONFIG); + SERVICE_QUERY_CONFIG); if (hService) { if (!QueryServiceConfigW(hService,
8 years, 7 months
1
0
0
0
[tthompson] 71407: [FsRtl] -Rewrote FsRtlGetNextBaseMcbEntry(), FsRtlLookupBaseMcbEntry(), and FsRtlNumberOfRunsInBaseMcb() using simpler logic. -Commented-out StaticRunBelow0, since it's no longer...
by tthompson@svn.reactos.org
Author: tthompson Date: Thu May 26 12:27:16 2016 New Revision: 71407 URL:
http://svn.reactos.org/svn/reactos?rev=71407&view=rev
Log: [FsRtl] -Rewrote FsRtlGetNextBaseMcbEntry(), FsRtlLookupBaseMcbEntry(), and FsRtlNumberOfRunsInBaseMcb() using simpler logic. -Commented-out StaticRunBelow0, since it's no longer used. These changes enable kmtest_ FsRtlMcb to run without failure. Modified: branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/largemcb.c Modified: branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/largemcb.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/l…
============================================================================== --- branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] (original) +++ branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/largemcb.c [iso-8859-1] Thu May 26 12:27:16 2016 @@ -42,11 +42,13 @@ PLARGE_MCB_MAPPING Mapping; } BASE_MCB_INTERNAL, *PBASE_MCB_INTERNAL; +/* static LARGE_MCB_MAPPING_ENTRY StaticRunBelow0 = { - {{-1}}, /* ignored */ + {{-1}}, // ignored {{0}}, - {{-1}}, /* ignored */ + {{-1}}, // ignored }; +*/ static PVOID NTAPI McbMappingAllocate(PRTL_GENERIC_TABLE Table, CLONG Bytes) { @@ -321,107 +323,60 @@ BOOLEAN NTAPI FsRtlGetNextBaseMcbEntry(IN PBASE_MCB OpaqueMcb, - IN ULONG RunIndex, - OUT PLONGLONG Vbn, - OUT PLONGLONG Lbn, - OUT PLONGLONG SectorCount) -{ - BOOLEAN Result = FALSE; + IN ULONG RunIndex, + OUT PLONGLONG Vbn, + OUT PLONGLONG Lbn, + OUT PLONGLONG SectorCount) +{ PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - ULONG RunIndexRemaining; - PLARGE_MCB_MAPPING_ENTRY Run, RunFound = NULL, RunFoundLower = NULL, RunFoundHigher = NULL; - BOOLEAN First = TRUE; - - DPRINT("FsRtlGetNextBaseMcbEntry(%p, %d, %p, %p, %p)\n", OpaqueMcb, RunIndex, Vbn, Lbn, SectorCount); - - RunIndexRemaining = RunIndex; - - /* Traverse the tree */ + PLARGE_MCB_MAPPING_ENTRY Run = NULL; + ULONG CurrentIndex = 0; + ULONGLONG LastVbn = 0; + ULONGLONG LastSectorCount = 0; + ULONG TableElementsConsumed = 0; + + // Traverse the tree for (Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, TRUE); - Run; + Run; Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, FALSE)) { - if (First) + TableElementsConsumed++; // we consume one element in the table everytime we call RtlEnumeratGenericTable + + // is the current index a hole? + if (Run->RunStartVbn.QuadPart > (LastVbn + LastSectorCount)) { - /* Take care when we must emulate missing 'hole' run at start of our run list. */ - if (Run->RunStartVbn.QuadPart > 0) + // Is this the index we're looking for? + if (RunIndex == CurrentIndex) { - if (RunIndexRemaining == 0) - { - RunFoundLower = &StaticRunBelow0; - RunFoundHigher = Run; - - /* stop the traversal */ - break; - } - /* If someone wants RunIndex #1 we are already on it. */ - RunIndexRemaining--; + *Vbn = LastVbn + LastSectorCount; + *Lbn = -1; + *SectorCount = Run->RunStartVbn.QuadPart - *Vbn; + + return TRUE; } - First = FALSE; + + CurrentIndex++; } - if (RunIndexRemaining > 0) + if (RunIndex == CurrentIndex) { - /* FIXME: performance: non-linear direct seek to the requested RunIndex */ - RunIndexRemaining--; - if (RunIndexRemaining == 0) - RunFoundLower = Run; - else - RunIndexRemaining--; - - /* continue the traversal */ - continue; + *Vbn = Run->RunStartVbn.QuadPart; + *Lbn = Run->StartingLbn.QuadPart; + *SectorCount = Run->RunEndVbn.QuadPart - Run->RunStartVbn.QuadPart; + + return TRUE; } - if (RunFoundLower) - RunFoundHigher = Run; - else - RunFound = Run; - - /* stop the traversal */ - break; - } - - if (RunFound) DPRINT("RunFound(%lu %lu %lu)\n", RunFound->RunStartVbn.LowPart, RunFound->RunEndVbn.LowPart, RunFound->StartingLbn.LowPart); - if (RunFoundLower) DPRINT("RunFoundLower(%lu %lu %lu)\n", RunFoundLower->RunStartVbn.LowPart, RunFoundLower->RunEndVbn.LowPart, RunFoundLower->StartingLbn.LowPart); - if (RunFoundHigher) DPRINT("RunFoundHigher(%lu %lu %lu)\n", RunFoundHigher->RunStartVbn.LowPart, RunFoundHigher->RunEndVbn.LowPart, RunFoundHigher->StartingLbn.LowPart); - - if (RunFound) - { - ASSERT(RunFoundLower == NULL); - ASSERT(RunFoundHigher == NULL); - - if (Vbn) - *Vbn = RunFound->RunStartVbn.QuadPart; - if (Lbn) - *Lbn = RunFound->StartingLbn.QuadPart; - if (SectorCount) - *SectorCount = RunFound->RunEndVbn.QuadPart - RunFound->RunStartVbn.QuadPart; - - Result = TRUE; - goto quit; - } - - if (RunFoundLower && RunFoundHigher) - { - //ASSERT(RunFoundHigher != NULL); - - if (Vbn) - *Vbn = RunFoundLower->RunEndVbn.QuadPart; - if (Lbn) - *Lbn = -1; - if (SectorCount) - *SectorCount = RunFoundHigher->RunStartVbn.QuadPart - RunFoundLower->RunEndVbn.QuadPart; - - Result = TRUE; - goto quit; - } - - ASSERT(RunFoundHigher == NULL); - -quit: - DPRINT("FsRtlGetNextBaseMcbEntry(%p, %d, %p, %p, %p) = %d (%I64d, %I64d, %I64d)\n", Mcb, RunIndex, Vbn, Lbn, SectorCount, Result, *Vbn, *Lbn, *SectorCount); - return Result; + CurrentIndex++; + LastVbn = Run->RunStartVbn.QuadPart; + LastSectorCount = Run->RunEndVbn.QuadPart - Run->RunStartVbn.QuadPart; + } + + // these values are meaningless when returning false (but setting them can be helpful for debugging purposes) + *Vbn = -7777; + *Lbn = -7777; + *SectorCount = -7777; + return FALSE; } /* @@ -538,125 +493,53 @@ } /* - * @unimplemented + * @implemented */ BOOLEAN NTAPI FsRtlLookupBaseMcbEntry(IN PBASE_MCB OpaqueMcb, - IN LONGLONG Vbn, - OUT PLONGLONG Lbn OPTIONAL, - OUT PLONGLONG SectorCountFromLbn OPTIONAL, - OUT PLONGLONG StartingLbn OPTIONAL, - OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL, - OUT PULONG Index OPTIONAL) -{ - BOOLEAN Result = FALSE; - PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - - ULONG RunIndex = 0; - PLARGE_MCB_MAPPING_ENTRY Run, RunFound = NULL, RunFoundLower = NULL, RunFoundHigher = NULL; - BOOLEAN First = TRUE; - - DPRINT("FsRtlLookupBaseMcbEntry(%p, %I64d, %p, %p, %p, %p, %p)\n", OpaqueMcb, Vbn, Lbn, SectorCountFromLbn, StartingLbn, SectorCountFromStartingLbn, Index); - - /* Traverse the tree */ - for (Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, TRUE); - Run; - Run = (PLARGE_MCB_MAPPING_ENTRY)RtlEnumerateGenericTable(&Mcb->Mapping->Table, FALSE)) - { - if (First) + IN LONGLONG Vbn, + OUT PLONGLONG Lbn OPTIONAL, + OUT PLONGLONG SectorCountFromLbn OPTIONAL, + OUT PLONGLONG StartingLbn OPTIONAL, + OUT PLONGLONG SectorCountFromStartingLbn OPTIONAL, + OUT PULONG Index OPTIONAL) +{ + ULONG i; + LONGLONG LastVbn = 0, LastLbn = 0, Count = 0; // the last values we've found during traversal + + for (i = 0; FsRtlGetNextBaseMcbEntry(OpaqueMcb, i, &LastVbn, &LastLbn, &Count); i++) + { + // have we reached the target mapping? + if (Vbn < LastVbn + Count) { - /* Take care when we must emulate missing 'hole' run at start of our run list. */ - if (Run->RunStartVbn.QuadPart > 0) + if (Lbn) { - RunIndex++; - RunFoundLower = &StaticRunBelow0; + if (LastLbn == -1) + *Lbn = -1; + else + *Lbn = LastLbn + (Vbn - LastVbn); } - First = FALSE; + + if (SectorCountFromLbn) + *SectorCountFromLbn = LastVbn + Count - Vbn; + if (StartingLbn) + *StartingLbn = LastLbn; + if (SectorCountFromStartingLbn) + *SectorCountFromStartingLbn = LastVbn + Count - LastVbn; + if (Index) + *Index = i; + + return TRUE; } - - if (Run->RunStartVbn.QuadPart <= Vbn && Vbn < Run->RunEndVbn.QuadPart) - { - RunFound = Run; - RunFoundLower = NULL; - /* stop the traversal; hit */ - break; - } - - if (Run->RunEndVbn.QuadPart <= Vbn) - { - RunFoundLower = Run; - if (Run->StartingLbn.QuadPart > 0) - { - RunIndex += 2; - } - /* continue the traversal; not yet crossed by the run */ - continue; - } - - if (Vbn < Run->RunStartVbn.QuadPart) - { - RunFoundHigher = Run; - RunIndex++; - /* stop the traversal; the run skipped us */ - break; - } - - ASSERT(FALSE); - /* stop the traversal */ - break; - } - - if (RunFound) - { - ASSERT(RunFoundLower == NULL); - ASSERT(RunFoundHigher == NULL); - - if (Lbn) - *Lbn = RunFound->StartingLbn.QuadPart + (Vbn - RunFound->RunStartVbn.QuadPart); - - if (SectorCountFromLbn) /* FIXME: 'after' means including current 'Lbn' or without it? */ - *SectorCountFromLbn = RunFound->RunEndVbn.QuadPart - Vbn; - if (StartingLbn) - *StartingLbn = RunFound->StartingLbn.QuadPart; - if (SectorCountFromStartingLbn) - *SectorCountFromStartingLbn = RunFound->RunEndVbn.QuadPart - RunFound->RunStartVbn.QuadPart; - if (Index) - *Index = RunIndex; - - Result = TRUE; - goto quit; - } - - if (RunFoundHigher) - { - /* search for hole */ - ASSERT(RunFoundLower != NULL); - - if (Lbn) - *Lbn = ~0ull; - if (SectorCountFromLbn) /* FIXME: 'after' means including current 'Lbn' or without it? */ - *SectorCountFromLbn = RunFoundHigher->RunStartVbn.QuadPart - Vbn; - if (StartingLbn) - *StartingLbn = ~0ull; - if (SectorCountFromStartingLbn) - *SectorCountFromStartingLbn = RunFoundHigher->RunStartVbn.QuadPart - RunFoundLower->RunEndVbn.QuadPart; - if (Index) - *Index = RunIndex - 2; - - Result = TRUE; - goto quit; - } - - /* We may have some 'RunFoundLower'. */ - -quit: - DPRINT("FsRtlLookupBaseMcbEntry(%p, %I64d, %p, %p, %p, %p, %p) = %d (%I64d, %I64d, %I64d, %I64d, %d)\n", - OpaqueMcb, Vbn, Lbn, SectorCountFromLbn, StartingLbn, SectorCountFromStartingLbn, Index, Result, - (Lbn ? *Lbn : (ULONGLONG)-1), (SectorCountFromLbn ? *SectorCountFromLbn : (ULONGLONG)-1), (StartingLbn ? *StartingLbn : (ULONGLONG)-1), - (SectorCountFromStartingLbn ? *SectorCountFromStartingLbn : (ULONGLONG)-1), (Index ? *Index : (ULONG)-1)); - - return Result; + } + + if (Lbn) + *Lbn = -1; + if (StartingLbn) + *StartingLbn = -1; + + return FALSE; } /* @@ -848,28 +731,18 @@ NTAPI FsRtlNumberOfRunsInBaseMcb(IN PBASE_MCB OpaqueMcb) { - PBASE_MCB_INTERNAL Mcb = (PBASE_MCB_INTERNAL)OpaqueMcb; - LONGLONG LbnAtVbn0 = -1; ULONG NumberOfRuns = 0; + LONGLONG Vbn, Lbn, Count; + int i; DPRINT("FsRtlNumberOfRunsInBaseMcb(%p)\n", OpaqueMcb); - if (Mcb->PairCount == 0) goto quit; - - FsRtlLookupBaseMcbEntry(OpaqueMcb, - 0, /* Vbn */ - &LbnAtVbn0, /* Lbn */ - NULL, NULL, NULL, NULL); /* 4 output arguments - not interested in them */ - - - /* Return the count */ - //return Mcb->PairCount; - /* Return the number of 'real' and 'hole' runs. - * If we do not have sector 0 as 'real' emulate a 'hole' there. - */ - NumberOfRuns = Mcb->PairCount * 2 - (LbnAtVbn0 != -1 ? 1 : 0); /* include holes as runs */ - -quit: + // Count how many Mcb entries there are + for (i = 0; FsRtlGetNextBaseMcbEntry(OpaqueMcb, i, &Vbn, &Lbn, &Count); i++) + { + NumberOfRuns++; + } + DPRINT("FsRtlNumberOfRunsInBaseMcb(%p) = %d\n", OpaqueMcb, NumberOfRuns); return NumberOfRuns; }
8 years, 7 months
1
0
0
0
[pschweitzer] 71406: [NTOSKRNL] Rework a bit the way mapping and pinning is working in ReactOS Cc. This is still wrong regarding the way Windows does it, but at least, it offers us more features fo...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Thu May 26 12:09:05 2016 New Revision: 71406 URL:
http://svn.reactos.org/svn/reactos?rev=71406&view=rev
Log: [NTOSKRNL] Rework a bit the way mapping and pinning is working in ReactOS Cc. This is still wrong regarding the way Windows does it, but at least, it offers us more features for a more compatible behavior exposed to FSDs. First of all, reintroduce the mutex used to lock VACB. Moving there to a resource wasn't enough to work address the issue. This reverts r71387. Introduce the resource in the BCB, as it should be. This resource will be unused until pinning occurs. In such case, the VACB mutex gets unused so that we can get the BCB released by another thread without deadlocking the associated VACB. The VACB can be locked again after the last unpinning operation. Basically, that fixes drivers than pin in a thread and unpin in another thread, after having changed BCB owner. Until now, it would just have deadlock or crashed ReactOS. The implementation of this preserves hacks and stubplementations already in place in Cc (let's say it's another hack on top of hacks). It was successfully tested with Ext2Fsd 0.66. Short summary: - Replace the VACB resource by a mutex - Introduce a resource in the BCB - Fixed CcPinRead() implementation so that it respects PIN_EXCLUSIVE flag - Implement CcUnpinDataForThread() so that it can unpin data which ownership was changed - Implement CcSetBcbOwnerPointer() so that it properly set BCB owner and allows unpinning with CcUnpinDataForThread() CORE-11310 #resolve #comment Committed in r71406 Modified: trunk/reactos/ntoskrnl/cc/cacheman.c trunk/reactos/ntoskrnl/cc/pin.c trunk/reactos/ntoskrnl/cc/view.c trunk/reactos/ntoskrnl/include/internal/cc.h trunk/reactos/ntoskrnl/mm/section.c Modified: trunk/reactos/ntoskrnl/cc/cacheman.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/cacheman.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/cc/cacheman.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/cacheman.c [iso-8859-1] Thu May 26 12:09:05 2016 @@ -122,9 +122,13 @@ CCTRACE(CC_API_DEBUG, "Bcb=%p Owner=%p\n", Bcb, Owner); - if (iBcb->OwnerPointer) - DPRINT1("OwnerPointer was already set?! Old: %p, New: %p\n", iBcb->OwnerPointer, Owner); - iBcb->OwnerPointer = Owner; + if (!ExIsResourceAcquiredExclusiveLite(&iBcb->Lock) && !ExIsResourceAcquiredSharedLite(&iBcb->Lock)) + { + DPRINT1("Current thread doesn't own resource!\n"); + return; + } + + ExSetResourceOwnerPointer(&iBcb->Lock, Owner); } /* Modified: trunk/reactos/ntoskrnl/cc/pin.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/pin.c?rev=7140…
============================================================================== --- trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] Thu May 26 12:09:05 2016 @@ -4,7 +4,8 @@ * FILE: ntoskrnl/cc/pin.c * PURPOSE: Implements cache managers pinning interface * - * PROGRAMMERS: + * PROGRAMMERS: ? + Pierre Schweitzer (pierre(a)reactos.org) */ /* INCLUDES ******************************************************************/ @@ -113,7 +114,9 @@ iBcb->PFCB.MappedFileOffset = *FileOffset; iBcb->Vacb = Vacb; iBcb->Dirty = FALSE; + iBcb->Pinned = FALSE; iBcb->RefCount = 1; + ExInitializeResourceLite(&iBcb->Lock); *pBcb = (PVOID)iBcb; CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> TRUE Bcb=%p\n", @@ -163,13 +166,36 @@ OUT PVOID * Bcb, OUT PVOID * Buffer) { + PINTERNAL_BCB iBcb; + CCTRACE(CC_API_DEBUG, "FileOffset=%p FileOffset=%p Length=%lu Flags=0x%lx\n", FileObject, FileOffset, Length, Flags); if (CcMapData(FileObject, FileOffset, Length, Flags, Bcb, Buffer)) { if (CcPinMappedData(FileObject, FileOffset, Length, Flags, Bcb)) + { + iBcb = *Bcb; + + ASSERT(iBcb->Pinned == FALSE); + + iBcb->Pinned = TRUE; + if (InterlockedIncrement(&iBcb->Vacb->PinCount) == 1) + { + KeReleaseMutex(&iBcb->Vacb->Mutex, FALSE); + } + + if (Flags & PIN_EXCLUSIVE) + { + ExAcquireResourceExclusiveLite(&iBcb->Lock, TRUE); + } + else + { + ExAcquireResourceSharedLite(&iBcb->Lock, TRUE); + } + return TRUE; + } else CcUnpinData(*Bcb); } @@ -228,41 +254,49 @@ CcUnpinData ( IN PVOID Bcb) { + CCTRACE(CC_API_DEBUG, "Bcb=%p\n", Bcb); + + CcUnpinDataForThread(Bcb, (ERESOURCE_THREAD)PsGetCurrentThread()); +} + +/* + * @unimplemented + */ +VOID +NTAPI +CcUnpinDataForThread ( + IN PVOID Bcb, + IN ERESOURCE_THREAD ResourceThreadId) +{ PINTERNAL_BCB iBcb = Bcb; - CCTRACE(CC_API_DEBUG, "Bcb=%p\n", Bcb); + CCTRACE(CC_API_DEBUG, "Bcb=%p ResourceThreadId=%lu\n", Bcb, ResourceThreadId); + + if (iBcb->Pinned) + { + ExReleaseResourceForThreadLite(&iBcb->Lock, ResourceThreadId); + iBcb->Pinned = FALSE; + if (InterlockedDecrement(&iBcb->Vacb->PinCount) == 0) + { + KeWaitForSingleObject(&iBcb->Vacb->Mutex, + Executive, + KernelMode, + FALSE, + NULL); + } + } CcRosReleaseVacb(iBcb->Vacb->SharedCacheMap, iBcb->Vacb, TRUE, iBcb->Dirty, FALSE); + if (--iBcb->RefCount == 0) { + ExDeleteResourceLite(&iBcb->Lock); ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb); } -} - -/* - * @unimplemented - */ -VOID -NTAPI -CcUnpinDataForThread ( - IN PVOID Bcb, - IN ERESOURCE_THREAD ResourceThreadId) -{ - PINTERNAL_BCB iBcb = Bcb; - - CCTRACE(CC_API_DEBUG, "Bcb=%p ResourceThreadId=%lu\n", Bcb, ResourceThreadId); - - if (iBcb->OwnerPointer != (PVOID)ResourceThreadId) - { - DPRINT1("Invalid owner! Caller: %p, Owner: %p\n", (PVOID)ResourceThreadId, iBcb->OwnerPointer); - return; - } - - CcUnpinData(Bcb); } /* @@ -300,7 +334,11 @@ IoStatus->Information = 0; if (WriteThrough) { - ExAcquireResourceExclusiveLite(&iBcb->Vacb->Lock, TRUE); + KeWaitForSingleObject(&iBcb->Vacb->Mutex, + Executive, + KernelMode, + FALSE, + NULL); if (iBcb->Vacb->Dirty) { IoStatus->Status = CcRosFlushVacb(iBcb->Vacb); @@ -309,13 +347,27 @@ { IoStatus->Status = STATUS_SUCCESS; } - ExReleaseResourceLite(&iBcb->Vacb->Lock); + KeReleaseMutex(&iBcb->Vacb->Mutex, FALSE); } else { IoStatus->Status = STATUS_SUCCESS; } + if (iBcb->Pinned) + { + ExReleaseResourceLite(&iBcb->Lock); + iBcb->Pinned = FALSE; + if (InterlockedDecrement(&iBcb->Vacb->PinCount) == 0) + { + KeWaitForSingleObject(&iBcb->Vacb->Mutex, + Executive, + KernelMode, + FALSE, + NULL); + } + } + ExDeleteResourceLite(&iBcb->Lock); ExFreeToNPagedLookasideList(&iBcbLookasideList, iBcb); } } Modified: trunk/reactos/ntoskrnl/cc/view.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/view.c?rev=714…
============================================================================== --- trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] Thu May 26 12:09:05 2016 @@ -166,10 +166,12 @@ PROS_VACB current; BOOLEAN Locked; NTSTATUS Status; + LARGE_INTEGER ZeroTimeout; DPRINT("CcRosFlushDirtyPages(Target %lu)\n", Target); (*Count) = 0; + ZeroTimeout.QuadPart = 0; KeEnterCriticalRegion(); KeAcquireGuardedMutex(&ViewLock); @@ -197,8 +199,12 @@ continue; } - Locked = ExAcquireResourceExclusiveLite(¤t->Lock, Wait); - if (!Locked) + Status = KeWaitForSingleObject(¤t->Mutex, + Executive, + KernelMode, + FALSE, + Wait ? NULL : &ZeroTimeout); + if (Status != STATUS_SUCCESS) { current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite( current->SharedCacheMap->LazyWriteContext); @@ -211,7 +217,7 @@ /* One reference is added above */ if (current->ReferenceCount > 2) { - ExReleaseResourceLite(¤t->Lock); + KeReleaseMutex(¤t->Mutex, FALSE); current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite( current->SharedCacheMap->LazyWriteContext); CcRosVacbDecRefCount(current); @@ -222,7 +228,7 @@ Status = CcRosFlushVacb(current); - ExReleaseResourceLite(¤t->Lock); + KeReleaseMutex(¤t->Mutex, FALSE); current->SharedCacheMap->Callbacks->ReleaseFromLazyWrite( current->SharedCacheMap->LazyWriteContext); @@ -419,7 +425,10 @@ KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql); KeReleaseGuardedMutex(&ViewLock); - ExReleaseResourceLite(&Vacb->Lock); + if (InterlockedCompareExchange(&Vacb->PinCount, 0, 0) == 0) + { + KeReleaseMutex(&Vacb->Mutex, FALSE); + } return STATUS_SUCCESS; } @@ -456,7 +465,14 @@ CcRosVacbIncRefCount(current); KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql); KeReleaseGuardedMutex(&ViewLock); - ExAcquireResourceExclusiveLite(¤t->Lock, TRUE); + if (InterlockedCompareExchange(¤t->PinCount, 0, 0) == 0) + { + KeWaitForSingleObject(¤t->Mutex, + Executive, + KernelMode, + FALSE, + NULL); + } return current; } if (current->FileOffset.QuadPart > FileOffset) @@ -511,7 +527,7 @@ KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql); KeReleaseGuardedMutex(&ViewLock); - ExReleaseResourceLite(&Vacb->Lock); + KeReleaseMutex(&Vacb->Mutex, FALSE); return STATUS_SUCCESS; } @@ -564,7 +580,7 @@ KeReleaseSpinLock(&SharedCacheMap->CacheMapLock, oldIrql); KeReleaseGuardedMutex(&ViewLock); - ExReleaseResourceLite(&Vacb->Lock); + KeReleaseMutex(&Vacb->Mutex, FALSE); return STATUS_SUCCESS; } @@ -665,8 +681,13 @@ current->DirtyVacbListEntry.Flink = NULL; current->DirtyVacbListEntry.Blink = NULL; current->ReferenceCount = 1; - ExInitializeResourceLite(¤t->Lock); - ExAcquireResourceExclusiveLite(¤t->Lock, TRUE); + current->PinCount = 0; + KeInitializeMutex(¤t->Mutex, 0); + KeWaitForSingleObject(¤t->Mutex, + Executive, + KernelMode, + FALSE, + NULL); KeAcquireGuardedMutex(&ViewLock); *Vacb = current; @@ -698,11 +719,18 @@ current); } #endif - ExReleaseResourceLite(&(*Vacb)->Lock); + KeReleaseMutex(&(*Vacb)->Mutex, FALSE); KeReleaseGuardedMutex(&ViewLock); ExFreeToNPagedLookasideList(&VacbLookasideList, *Vacb); *Vacb = current; - ExAcquireResourceExclusiveLite(¤t->Lock, TRUE); + if (InterlockedCompareExchange(¤t->PinCount, 0, 0) == 0) + { + KeWaitForSingleObject(¤t->Mutex, + Executive, + KernelMode, + FALSE, + NULL); + } return STATUS_SUCCESS; } if (current->FileOffset.QuadPart < FileOffset) @@ -868,7 +896,6 @@ CcFreeCachePage, NULL); MmUnlockAddressSpace(MmGetKernelAddressSpace()); - ExDeleteResourceLite(&Vacb->Lock); ExFreeToNPagedLookasideList(&VacbLookasideList, Vacb); return STATUS_SUCCESS; @@ -932,7 +959,11 @@ IoStatus->Status = Status; } } - ExReleaseResourceLite(¤t->Lock); + + if (InterlockedCompareExchange(¤t->PinCount, 0, 0) == 0) + { + KeReleaseMutex(¤t->Mutex, FALSE); + } KeAcquireGuardedMutex(&ViewLock); KeAcquireSpinLock(&SharedCacheMap->CacheMapLock, &oldIrql); Modified: trunk/reactos/ntoskrnl/include/internal/cc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/cc.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/cc.h [iso-8859-1] Thu May 26 12:09:05 2016 @@ -165,8 +165,6 @@ PVOID BaseAddress; /* Memory area representing the region where the view's data is mapped. */ struct _MEMORY_AREA* MemoryArea; - /* Lock */ - ERESOURCE Lock; /* Are the contents of the view valid. */ BOOLEAN Valid; /* Are the contents of the view newer than those on disk. */ @@ -182,8 +180,12 @@ LIST_ENTRY VacbLruListEntry; /* Offset in the file which this view maps. */ LARGE_INTEGER FileOffset; + /* Mutex */ + KMUTEX Mutex; /* Number of references. */ ULONG ReferenceCount; + /* How many times was it pinned? */ + volatile LONG PinCount; /* Pointer to the shared cache map for the file which this view maps data for. */ PROS_SHARED_CACHE_MAP SharedCacheMap; /* Pointer to the next VACB in a chain. */ @@ -191,11 +193,13 @@ typedef struct _INTERNAL_BCB { + /* Lock */ + ERESOURCE Lock; PUBLIC_BCB PFCB; PROS_VACB Vacb; BOOLEAN Dirty; + BOOLEAN Pinned; CSHORT RefCount; /* (At offset 0x34 on WinNT4) */ - PVOID OwnerPointer; } INTERNAL_BCB, *PINTERNAL_BCB; VOID Modified: trunk/reactos/ntoskrnl/mm/section.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/section.c?rev=…
============================================================================== --- trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/mm/section.c [iso-8859-1] Thu May 26 12:09:05 2016 @@ -1110,7 +1110,6 @@ * filesystems do because it is safe for us to use an offset with an * alignment less than the file system block size. */ - KeEnterCriticalRegion(); Status = CcRosGetVacb(SharedCacheMap, FileOffset, &BaseOffset, @@ -1119,7 +1118,6 @@ &Vacb); if (!NT_SUCCESS(Status)) { - KeLeaveCriticalRegion(); return(Status); } if (!UptoDate) @@ -1132,7 +1130,6 @@ if (!NT_SUCCESS(Status)) { CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE); - KeLeaveCriticalRegion(); return Status; } } @@ -1147,7 +1144,6 @@ FileOffset - BaseOffset).LowPart >> PAGE_SHIFT; CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, TRUE); - KeLeaveCriticalRegion(); } else { @@ -1167,7 +1163,6 @@ { return(Status); } - KeEnterCriticalRegion(); Status = CcRosGetVacb(SharedCacheMap, FileOffset, &BaseOffset, @@ -1176,7 +1171,6 @@ &Vacb); if (!NT_SUCCESS(Status)) { - KeLeaveCriticalRegion(); return(Status); } if (!UptoDate) @@ -1189,7 +1183,6 @@ if (!NT_SUCCESS(Status)) { CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE); - KeLeaveCriticalRegion(); return Status; } } @@ -1219,7 +1212,6 @@ &Vacb); if (!NT_SUCCESS(Status)) { - KeLeaveCriticalRegion(); return(Status); } if (!UptoDate) @@ -1232,7 +1224,6 @@ if (!NT_SUCCESS(Status)) { CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE); - KeLeaveCriticalRegion(); return Status; } } @@ -1248,7 +1239,6 @@ } MiUnmapPageInHyperSpace(Process, PageAddr, Irql); CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE); - KeLeaveCriticalRegion(); } return(STATUS_SUCCESS); } @@ -3242,12 +3232,10 @@ BufferSize = PAGE_ROUND_UP(BufferSize); /* Flush data since we're about to perform a non-cached read */ - KeEnterCriticalRegion(); CcFlushCache(FileObject->SectionObjectPointer, &FileOffset, BufferSize, &Iosb); - KeLeaveCriticalRegion(); /* * It's ok to use paged pool, because this is a temporary buffer only used in
8 years, 7 months
1
0
0
0
[akhaldi] 71405: * Sync up to trunk HEAD (r71404).
by akhaldi@svn.reactos.org
Author: akhaldi Date: Thu May 26 12:01:41 2016 New Revision: 71405 URL:
http://svn.reactos.org/svn/reactos?rev=71405&view=rev
Log: * Sync up to trunk HEAD (r71404). Added: branches/GSoC_2016/NTFS/base/applications/network/telnet/lang/ - copied from r71404, trunk/reactos/base/applications/network/telnet/lang/ branches/GSoC_2016/NTFS/base/applications/network/telnet/resource.h - copied unchanged from r71404, trunk/reactos/base/applications/network/telnet/resource.h branches/GSoC_2016/NTFS/base/shell/progman/new_resources.rc - copied unchanged from r71404, trunk/reactos/base/shell/progman/new_resources.rc branches/GSoC_2016/NTFS/base/shell/progman/res/group.ico - copied unchanged from r71404, trunk/reactos/base/shell/progman/res/group.ico branches/GSoC_2016/NTFS/base/shell/progman/res/group_common.ico - copied unchanged from r71404, trunk/reactos/base/shell/progman/res/group_common.ico branches/GSoC_2016/NTFS/base/shell/progman/res/group_personal.ico - copied unchanged from r71404, trunk/reactos/base/shell/progman/res/group_personal.ico branches/GSoC_2016/NTFS/base/shell/progman/res/roslogo.ico - copied unchanged from r71404, trunk/reactos/base/shell/progman/res/roslogo.ico branches/GSoC_2016/NTFS/base/shell/progman/res/terminal.ico - copied unchanged from r71404, trunk/reactos/base/shell/progman/res/terminal.ico branches/GSoC_2016/NTFS/base/shell/progman/resource_2.h - copied unchanged from r71404, trunk/reactos/base/shell/progman/resource_2.h branches/GSoC_2016/NTFS/boot/bootdata/autorun-bootcd.inf - copied unchanged from r71404, trunk/reactos/boot/bootdata/autorun-bootcd.inf branches/GSoC_2016/NTFS/boot/bootdata/autorun-hybridcd.inf - copied unchanged from r71404, trunk/reactos/boot/bootdata/autorun-hybridcd.inf branches/GSoC_2016/NTFS/boot/bootdata/autorun-livecd.inf - copied unchanged from r71404, trunk/reactos/boot/bootdata/autorun-livecd.inf branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbread.c - copied unchanged from r71404, trunk/reactos/dll/appcompat/apphelp/sdbread.c branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbwrite.c - copied unchanged from r71404, trunk/reactos/dll/appcompat/apphelp/sdbwrite.c branches/GSoC_2016/NTFS/dll/shellext/acppage/lang/ro-RO.rc - copied unchanged from r71404, trunk/reactos/dll/shellext/acppage/lang/ro-RO.rc branches/GSoC_2016/NTFS/dll/shellext/acppage/lang/tr-TR.rc - copied unchanged from r71404, trunk/reactos/dll/shellext/acppage/lang/tr-TR.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/res/netsetup.ico - copied unchanged from r71404, trunk/reactos/dll/shellext/netshell/res/netsetup.ico branches/GSoC_2016/NTFS/dll/shellext/netshell/setup.cpp - copied unchanged from r71404, trunk/reactos/dll/shellext/netshell/setup.cpp branches/GSoC_2016/NTFS/dll/win32/iernonce/lang/ro-RO.rc - copied unchanged from r71404, trunk/reactos/dll/win32/iernonce/lang/ro-RO.rc branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/extent-tree.c - copied unchanged from r71404, trunk/reactos/drivers/filesystems/btrfs/extent-tree.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/free-space.c - copied unchanged from r71404, trunk/reactos/drivers/filesystems/btrfs/free-space.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/pnp.c - copied unchanged from r71404, trunk/reactos/drivers/filesystems/btrfs/pnp.c branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/atacmd_map.cpp - copied unchanged from r71404, trunk/reactos/drivers/storage/ide/uniata/atacmd_map.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/atacmd_map.h - copied unchanged from r71404, trunk/reactos/drivers/storage/ide/uniata/atacmd_map.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bm_devs.cpp - copied unchanged from r71404, trunk/reactos/drivers/storage/ide/uniata/bm_devs.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bm_devs_decl.h - copied unchanged from r71404, trunk/reactos/drivers/storage/ide/uniata/bm_devs_decl.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/stdafx.cpp - copied unchanged from r71404, trunk/reactos/drivers/storage/ide/uniata/stdafx.cpp branches/GSoC_2016/NTFS/hal/halx86/up/pic.S - copied unchanged from r71404, trunk/reactos/hal/halx86/up/pic.S branches/GSoC_2016/NTFS/sdk/cmake/ - copied from r71404, trunk/reactos/sdk/cmake/ branches/GSoC_2016/NTFS/win32ss/user/winsrv/consrv/frontends/gui/res/terminal.ico - copied unchanged from r71404, trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/res/terminal.ico Removed: branches/GSoC_2016/NTFS/base/applications/network/telnet/Makefile.mingw branches/GSoC_2016/NTFS/base/applications/network/telnet/resource/ branches/GSoC_2016/NTFS/cmake/ branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/loader.c Modified: branches/GSoC_2016/NTFS/ (props changed) branches/GSoC_2016/NTFS/CMakeLists.txt branches/GSoC_2016/NTFS/PreLoad.cmake branches/GSoC_2016/NTFS/base/applications/clipbrd/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/cmdutils/clip/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/cmdutils/reg/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/games/solitaire/solitaire.cpp branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/CMakeLists.txt branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/eventvwr.c branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/eventvwr.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/bg-BG.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/cs-CZ.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/de-DE.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/el-GR.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/en-US.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/es-ES.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/fr-FR.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/he-IL.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/it-IT.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ja-JP.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ko-KR.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/no-NO.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/pl-PL.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/pt-BR.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ru-RU.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sk-SK.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sq-AL.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sv-SE.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/tr-TR.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/uk-UA.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/zh-CN.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/zh-TW.rc branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/resource.h branches/GSoC_2016/NTFS/base/applications/network/telnet/telnet.rc branches/GSoC_2016/NTFS/base/applications/rapps/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/rapps_new/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/applications/taskmgr/lang/de-DE.rc branches/GSoC_2016/NTFS/base/applications/taskmgr/run.c branches/GSoC_2016/NTFS/base/setup/reactos/lang/ro-RO.rc branches/GSoC_2016/NTFS/base/setup/usetup/cmdcons.c branches/GSoC_2016/NTFS/base/setup/usetup/interface/usetup.c branches/GSoC_2016/NTFS/base/setup/usetup/partlist.c branches/GSoC_2016/NTFS/base/shell/explorer/traywnd.cpp branches/GSoC_2016/NTFS/base/shell/progman/CMakeLists.txt branches/GSoC_2016/NTFS/base/shell/progman/dialog.c branches/GSoC_2016/NTFS/base/shell/progman/group.c branches/GSoC_2016/NTFS/base/shell/progman/grpfile.c branches/GSoC_2016/NTFS/base/shell/progman/main.c branches/GSoC_2016/NTFS/base/shell/progman/progman.h branches/GSoC_2016/NTFS/base/shell/progman/progman.rc branches/GSoC_2016/NTFS/base/shell/progman/program.c branches/GSoC_2016/NTFS/base/shell/progman/resource.h branches/GSoC_2016/NTFS/base/shell/progman/string.c branches/GSoC_2016/NTFS/base/system/regsvr32/regsvr32.c branches/GSoC_2016/NTFS/base/system/services/config.c branches/GSoC_2016/NTFS/base/system/services/database.c branches/GSoC_2016/NTFS/base/system/services/rpcserver.c branches/GSoC_2016/NTFS/base/system/services/services.h branches/GSoC_2016/NTFS/boot/bootdata/CMakeLists.txt branches/GSoC_2016/NTFS/boot/bootdata/hivecls.inf branches/GSoC_2016/NTFS/boot/environ/lib/io/etfs.c branches/GSoC_2016/NTFS/boot/freeldr/freeldr/arch/i386/pcmem.c branches/GSoC_2016/NTFS/boot/freeldr/freeldr/ntldr/registry.c branches/GSoC_2016/NTFS/configure.cmd branches/GSoC_2016/NTFS/dll/3rdparty/mbedtls/mbedtls.spec branches/GSoC_2016/NTFS/dll/appcompat/apphelp/CMakeLists.txt branches/GSoC_2016/NTFS/dll/appcompat/apphelp/apphelp.h branches/GSoC_2016/NTFS/dll/appcompat/apphelp/apphelp.spec branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbapi.c branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbfileattr.c branches/GSoC_2016/NTFS/dll/cpl/appwiz/lang/ro-RO.rc branches/GSoC_2016/NTFS/dll/cpl/console/console.c branches/GSoC_2016/NTFS/dll/ntdll/def/ntdll.spec branches/GSoC_2016/NTFS/dll/shellext/acppage/ACPPage.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/CMakeLists.txt branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/bg-BG.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/cs-CZ.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/da-DK.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/de-DE.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/el-GR.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/en-US.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/es-ES.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/fr-FR.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/he-IL.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/hu-HU.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/id-ID.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/it-IT.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ja-JP.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/nl-NL.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/no-NO.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/pl-PL.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ro-RO.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ru-RU.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sk-SK.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sq-AL.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sv-SE.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/tr-TR.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/uk-UA.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/zh-CN.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/zh-TW.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/netshell.rc branches/GSoC_2016/NTFS/dll/shellext/netshell/netshell.spec branches/GSoC_2016/NTFS/dll/shellext/netshell/precomp.h branches/GSoC_2016/NTFS/dll/shellext/netshell/resource.h branches/GSoC_2016/NTFS/dll/win32/advapi32/advapi32.spec branches/GSoC_2016/NTFS/dll/win32/advapi32/misc/logon.c branches/GSoC_2016/NTFS/dll/win32/advapi32/service/eventlog.c branches/GSoC_2016/NTFS/dll/win32/advapi32/service/scm.c branches/GSoC_2016/NTFS/dll/win32/comdlg32/lang/cdlg_Ro.rc branches/GSoC_2016/NTFS/dll/win32/iernonce/iernonce.rc branches/GSoC_2016/NTFS/dll/win32/iernonce/lang/tr-TR.rc branches/GSoC_2016/NTFS/dll/win32/iphlpapi/ifenum_reactos.c branches/GSoC_2016/NTFS/dll/win32/iphlpapi/iphlpapi_main.c branches/GSoC_2016/NTFS/dll/win32/kernel32/client/thread.c branches/GSoC_2016/NTFS/dll/win32/netapi32/access.c branches/GSoC_2016/NTFS/dll/win32/netapi32/local_group.c branches/GSoC_2016/NTFS/dll/win32/netapi32/netapi32.spec branches/GSoC_2016/NTFS/dll/win32/netapi32/user.c branches/GSoC_2016/NTFS/dll/win32/samlib/samlib.c branches/GSoC_2016/NTFS/dll/win32/samsrv/samrpc.c branches/GSoC_2016/NTFS/dll/win32/schannel/schannel_mbedtls.c branches/GSoC_2016/NTFS/dll/win32/setupapi/install.c branches/GSoC_2016/NTFS/dll/win32/shell32/CDefaultContextMenu.cpp branches/GSoC_2016/NTFS/dll/win32/shell32/dialogs/folder_options.cpp branches/GSoC_2016/NTFS/dll/win32/shell32/lang/bg-BG.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ca-ES.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/cs-CZ.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/da-DK.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/de-DE.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/el-GR.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/en-GB.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/en-US.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/es-ES.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/fi-FI.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/fr-FR.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/he-IL.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/hu-HU.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/it-IT.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ja-JP.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ko-KR.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/nl-NL.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/no-NO.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pl-PL.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pt-BR.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pt-PT.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ro-RO.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ru-RU.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sk-SK.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sl-SI.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sq-AL.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sv-SE.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/tr-TR.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/uk-UA.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/zh-CN.rc branches/GSoC_2016/NTFS/dll/win32/shell32/lang/zh-TW.rc branches/GSoC_2016/NTFS/dll/win32/shell32/shresdef.h branches/GSoC_2016/NTFS/dll/win32/shell32/wine/shellpath.c branches/GSoC_2016/NTFS/dll/win32/syssetup/globals.h branches/GSoC_2016/NTFS/dll/win32/syssetup/syssetup.rc branches/GSoC_2016/NTFS/dll/win32/syssetup/wizard.c branches/GSoC_2016/NTFS/dll/win32/userenv/lang/ro-RO.rc branches/GSoC_2016/NTFS/dll/win32/ws2_32_new/src/addrinfo.c branches/GSoC_2016/NTFS/dll/win32/ws2_32_new/src/getproto.c branches/GSoC_2016/NTFS/drivers/bus/acpi/acpienum.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/CMakeLists.txt branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.h branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.rc branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs_drv.h branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfsioctl.h branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/create.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/dirctrl.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/fileinfo.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/flushthread.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/fsctl.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/read.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/reparse.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/security.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/treefuncs.c branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/write.c branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/dirwr.c branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/flush.c branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/vfat.h branches/GSoC_2016/NTFS/drivers/filesystems/mup/mup.c branches/GSoC_2016/NTFS/drivers/filesystems/udfs/udf_info/mount.cpp branches/GSoC_2016/NTFS/drivers/filters/mountmgr/mntmgr.h branches/GSoC_2016/NTFS/drivers/filters/mountmgr/notify.c branches/GSoC_2016/NTFS/drivers/input/i8042prt/keyboard.c branches/GSoC_2016/NTFS/drivers/input/i8042prt/mouse.c branches/GSoC_2016/NTFS/drivers/ksfilter/ks/swenum.c branches/GSoC_2016/NTFS/drivers/network/afd/afd/read.c branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/CMakeLists.txt branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/atapi.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bm_devs.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bsmaster.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_ata.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_dma.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_init.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_probe.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_queue.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_sata.cpp branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_sata.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/tools.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/uata_ctl.h branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/uniata_ver.h branches/GSoC_2016/NTFS/drivers/usb/usbhub/ (props changed) branches/GSoC_2016/NTFS/drivers/usb/usbhub/fdo.c branches/GSoC_2016/NTFS/hal/halx86/pic.cmake branches/GSoC_2016/NTFS/hal/halx86/up/pic.c branches/GSoC_2016/NTFS/media/doc/README.WINE branches/GSoC_2016/NTFS/media/inf/shortcuts.inf branches/GSoC_2016/NTFS/media/rapps/abyss.txt branches/GSoC_2016/NTFS/media/rapps/air.txt branches/GSoC_2016/NTFS/media/rapps/bittorrent.txt branches/GSoC_2016/NTFS/media/rapps/burnawarefree.txt branches/GSoC_2016/NTFS/media/rapps/dilinuxreader.txt branches/GSoC_2016/NTFS/media/rapps/ghostscript.txt branches/GSoC_2016/NTFS/media/rapps/indiftpd.txt branches/GSoC_2016/NTFS/media/rapps/irfanview.txt branches/GSoC_2016/NTFS/media/rapps/irfanviewplugins.txt branches/GSoC_2016/NTFS/media/rapps/libreoffice.txt branches/GSoC_2016/NTFS/media/rapps/libreofficehelp.txt branches/GSoC_2016/NTFS/media/rapps/mirc.txt branches/GSoC_2016/NTFS/media/rapps/utorrent.txt branches/GSoC_2016/NTFS/modules/CMakeLists.txt branches/GSoC_2016/NTFS/ntoskrnl/cache/cachesub.c branches/GSoC_2016/NTFS/ntoskrnl/cache/pinsup.c branches/GSoC_2016/NTFS/ntoskrnl/cc/fs.c branches/GSoC_2016/NTFS/ntoskrnl/cc/pin.c branches/GSoC_2016/NTFS/ntoskrnl/cc/view.c branches/GSoC_2016/NTFS/ntoskrnl/ex/harderr.c branches/GSoC_2016/NTFS/ntoskrnl/ex/resource.c branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/notify.c branches/GSoC_2016/NTFS/ntoskrnl/include/internal/cc.h branches/GSoC_2016/NTFS/ntoskrnl/mm/ARM3/special.c branches/GSoC_2016/NTFS/ntoskrnl/mm/section.c branches/GSoC_2016/NTFS/ntoskrnl/ps/apphelp.c branches/GSoC_2016/NTFS/ntoskrnl/ps/query.c branches/GSoC_2016/NTFS/ntoskrnl/se/acl.c branches/GSoC_2016/NTFS/sdk/include/ndk/rtltypes.h branches/GSoC_2016/NTFS/sdk/include/psdk/ntstatus.h branches/GSoC_2016/NTFS/sdk/include/psdk/shlguid.h branches/GSoC_2016/NTFS/sdk/include/psdk/shlobj.h branches/GSoC_2016/NTFS/sdk/include/psdk/winbase.h branches/GSoC_2016/NTFS/sdk/include/reactos/idl/eventlogrpc.acf branches/GSoC_2016/NTFS/sdk/include/reactos/idl/lsa.acf branches/GSoC_2016/NTFS/sdk/include/reactos/idl/pnp.acf branches/GSoC_2016/NTFS/sdk/include/reactos/idl/sam.acf branches/GSoC_2016/NTFS/sdk/include/reactos/idl/sam.idl branches/GSoC_2016/NTFS/sdk/include/reactos/idl/svcctl.acf branches/GSoC_2016/NTFS/sdk/include/reactos/idl/winreg.acf branches/GSoC_2016/NTFS/sdk/include/reactos/libs/syssetup/syssetup.h branches/GSoC_2016/NTFS/sdk/include/reactos/mc/ntstatus.mc branches/GSoC_2016/NTFS/sdk/lib/crt/libcntpr.cmake branches/GSoC_2016/NTFS/sdk/lib/crt/string/strtoi64.c branches/GSoC_2016/NTFS/sdk/lib/crt/string/strtoul.c branches/GSoC_2016/NTFS/sdk/lib/drivers/ntoskrnl_vista/fsrtl.c branches/GSoC_2016/NTFS/sdk/lib/fslib/vfatlib/fat32.c branches/GSoC_2016/NTFS/sdk/lib/rtl/acl.c branches/GSoC_2016/NTFS/sdk/lib/rtl/error.c branches/GSoC_2016/NTFS/sdk/lib/rtl/heap.c branches/GSoC_2016/NTFS/sdk/tools/kbdtool/parser.c branches/GSoC_2016/NTFS/win32ss/user/user32/windows/message.c branches/GSoC_2016/NTFS/win32ss/user/winsrv/usersrv/harderror.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/GSoC_2016/NTFS/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/CMakeLists.txt?r…
Modified: branches/GSoC_2016/NTFS/PreLoad.cmake URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/PreLoad.cmake?re…
Modified: branches/GSoC_2016/NTFS/base/applications/clipbrd/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/cmdutils/clip/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/cmdutils/reg/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/games/solitaire/solitaire.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/eventvwr.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/eventvwr.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ko-KR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/mscutils/eventvwr/resource.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Removed: branches/GSoC_2016/NTFS/base/applications/network/telnet/Makefile.mingw URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/network/telnet/telnet.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/rapps/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/rapps_new/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/taskmgr/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/applications/taskmgr/run.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/application…
Modified: branches/GSoC_2016/NTFS/base/setup/reactos/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/setup/react…
Modified: branches/GSoC_2016/NTFS/base/setup/usetup/cmdcons.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/setup/usetu…
Modified: branches/GSoC_2016/NTFS/base/setup/usetup/interface/usetup.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/setup/usetu…
Modified: branches/GSoC_2016/NTFS/base/setup/usetup/partlist.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/setup/usetu…
Modified: branches/GSoC_2016/NTFS/base/shell/explorer/traywnd.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/explo…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/dialog.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/group.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/grpfile.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/main.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/progman.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/progman.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/program.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/resource.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/shell/progman/string.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/shell/progm…
Modified: branches/GSoC_2016/NTFS/base/system/regsvr32/regsvr32.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/system/regs…
Modified: branches/GSoC_2016/NTFS/base/system/services/config.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/system/serv…
Modified: branches/GSoC_2016/NTFS/base/system/services/database.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/system/serv…
Modified: branches/GSoC_2016/NTFS/base/system/services/rpcserver.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/system/serv…
Modified: branches/GSoC_2016/NTFS/base/system/services/services.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/base/system/serv…
Modified: branches/GSoC_2016/NTFS/boot/bootdata/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/boot/bootdata/CM…
Modified: branches/GSoC_2016/NTFS/boot/bootdata/hivecls.inf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/boot/bootdata/hi…
Modified: branches/GSoC_2016/NTFS/boot/environ/lib/io/etfs.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/boot/environ/lib…
Modified: branches/GSoC_2016/NTFS/boot/freeldr/freeldr/arch/i386/pcmem.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/boot/freeldr/fre…
Modified: branches/GSoC_2016/NTFS/boot/freeldr/freeldr/ntldr/registry.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/boot/freeldr/fre…
Modified: branches/GSoC_2016/NTFS/configure.cmd URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/configure.cmd?re…
Modified: branches/GSoC_2016/NTFS/dll/3rdparty/mbedtls/mbedtls.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/3rdparty/mbe…
Modified: branches/GSoC_2016/NTFS/dll/appcompat/apphelp/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/appcompat/ap…
Modified: branches/GSoC_2016/NTFS/dll/appcompat/apphelp/apphelp.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/appcompat/ap…
Modified: branches/GSoC_2016/NTFS/dll/appcompat/apphelp/apphelp.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/appcompat/ap…
Modified: branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbapi.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/appcompat/ap…
Modified: branches/GSoC_2016/NTFS/dll/appcompat/apphelp/sdbfileattr.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/appcompat/ap…
Modified: branches/GSoC_2016/NTFS/dll/cpl/appwiz/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/cpl/appwiz/l…
Modified: branches/GSoC_2016/NTFS/dll/cpl/console/console.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/cpl/console/…
Modified: branches/GSoC_2016/NTFS/dll/ntdll/def/ntdll.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/ntdll/def/nt…
Modified: branches/GSoC_2016/NTFS/dll/shellext/acppage/ACPPage.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/acp…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/netshell.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/netshell.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/precomp.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/shellext/netshell/resource.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/shellext/net…
Modified: branches/GSoC_2016/NTFS/dll/win32/advapi32/advapi32.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/advapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/advapi32/misc/logon.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/advapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/advapi32/service/eventlog.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/advapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/advapi32/service/scm.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/advapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/comdlg32/lang/cdlg_Ro.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/comdlg…
Modified: branches/GSoC_2016/NTFS/dll/win32/iernonce/iernonce.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/iernon…
Modified: branches/GSoC_2016/NTFS/dll/win32/iernonce/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/iernon…
Modified: branches/GSoC_2016/NTFS/dll/win32/iphlpapi/ifenum_reactos.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/iphlpa…
Modified: branches/GSoC_2016/NTFS/dll/win32/iphlpapi/iphlpapi_main.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/iphlpa…
Modified: branches/GSoC_2016/NTFS/dll/win32/kernel32/client/thread.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/kernel…
Modified: branches/GSoC_2016/NTFS/dll/win32/netapi32/access.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/netapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/netapi32/local_group.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/netapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/netapi32/netapi32.spec URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/netapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/netapi32/user.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/netapi…
Modified: branches/GSoC_2016/NTFS/dll/win32/samlib/samlib.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/samlib…
Modified: branches/GSoC_2016/NTFS/dll/win32/samsrv/samrpc.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/samsrv…
Modified: branches/GSoC_2016/NTFS/dll/win32/schannel/schannel_mbedtls.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/schann…
Modified: branches/GSoC_2016/NTFS/dll/win32/setupapi/install.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/setupa…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/CDefaultContextMenu.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/dialogs/folder_options.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ca-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/en-GB.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/fi-FI.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ko-KR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sl-SI.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/shresdef.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/shell32/wine/shellpath.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/shell3…
Modified: branches/GSoC_2016/NTFS/dll/win32/syssetup/globals.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/sysset…
Modified: branches/GSoC_2016/NTFS/dll/win32/syssetup/syssetup.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/sysset…
Modified: branches/GSoC_2016/NTFS/dll/win32/syssetup/wizard.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/sysset…
Modified: branches/GSoC_2016/NTFS/dll/win32/userenv/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/useren…
Modified: branches/GSoC_2016/NTFS/dll/win32/ws2_32_new/src/addrinfo.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/ws2_32…
Modified: branches/GSoC_2016/NTFS/dll/win32/ws2_32_new/src/getproto.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/dll/win32/ws2_32…
Modified: branches/GSoC_2016/NTFS/drivers/bus/acpi/acpienum.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/bus/acpi…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs.rc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfs_drv.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/btrfsioctl.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/create.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/dirctrl.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/fileinfo.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/flushthread.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/fsctl.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Removed: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/loader.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/read.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/reparse.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/security.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/treefuncs.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/btrfs/write.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/dirwr.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/flush.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/fastfat/vfat.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/mup/mup.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filesystems/udfs/udf_info/mount.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filesyst…
Modified: branches/GSoC_2016/NTFS/drivers/filters/mountmgr/mntmgr.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filters/…
Modified: branches/GSoC_2016/NTFS/drivers/filters/mountmgr/notify.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/filters/…
Modified: branches/GSoC_2016/NTFS/drivers/input/i8042prt/keyboard.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/input/i8…
Modified: branches/GSoC_2016/NTFS/drivers/input/i8042prt/mouse.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/input/i8…
Modified: branches/GSoC_2016/NTFS/drivers/ksfilter/ks/swenum.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/ksfilter…
Modified: branches/GSoC_2016/NTFS/drivers/network/afd/afd/read.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/network/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/atapi.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bm_devs.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/bsmaster.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_ata.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_dma.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_init.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_probe.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_queue.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_sata.cpp URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/id_sata.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/tools.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/uata_ctl.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/storage/ide/uniata/uniata_ver.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/storage/…
Modified: branches/GSoC_2016/NTFS/drivers/usb/usbhub/fdo.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/drivers/usb/usbh…
Modified: branches/GSoC_2016/NTFS/hal/halx86/pic.cmake URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/hal/halx86/pic.c…
Modified: branches/GSoC_2016/NTFS/hal/halx86/up/pic.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/hal/halx86/up/pi…
Modified: branches/GSoC_2016/NTFS/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/doc/README…
Modified: branches/GSoC_2016/NTFS/media/inf/shortcuts.inf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/inf/shortc…
Modified: branches/GSoC_2016/NTFS/media/rapps/abyss.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/abys…
Modified: branches/GSoC_2016/NTFS/media/rapps/air.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/air.…
Modified: branches/GSoC_2016/NTFS/media/rapps/bittorrent.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/bitt…
Modified: branches/GSoC_2016/NTFS/media/rapps/burnawarefree.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/burn…
Modified: branches/GSoC_2016/NTFS/media/rapps/dilinuxreader.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/dili…
Modified: branches/GSoC_2016/NTFS/media/rapps/ghostscript.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/ghos…
Modified: branches/GSoC_2016/NTFS/media/rapps/indiftpd.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/indi…
Modified: branches/GSoC_2016/NTFS/media/rapps/irfanview.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/irfa…
Modified: branches/GSoC_2016/NTFS/media/rapps/irfanviewplugins.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/irfa…
Modified: branches/GSoC_2016/NTFS/media/rapps/libreoffice.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/libr…
Modified: branches/GSoC_2016/NTFS/media/rapps/libreofficehelp.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/libr…
Modified: branches/GSoC_2016/NTFS/media/rapps/mirc.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/mirc…
Modified: branches/GSoC_2016/NTFS/media/rapps/utorrent.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/media/rapps/utor…
Modified: branches/GSoC_2016/NTFS/modules/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/modules/CMakeLis…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/cache/cachesub.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/cache/c…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/cache/pinsup.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/cache/p…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/cc/fs.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/cc/fs.c…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/cc/pin.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/cc/pin.…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/cc/view.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/cc/view…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/ex/harderr.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/ex/hard…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/ex/resource.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/ex/reso…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/notify.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/fsrtl/n…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/include/internal/cc.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/include…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/mm/ARM3/special.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/mm/ARM3…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/mm/section.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/mm/sect…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/ps/apphelp.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/ps/apph…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/ps/query.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/ps/quer…
Modified: branches/GSoC_2016/NTFS/ntoskrnl/se/acl.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/ntoskrnl/se/acl.…
Modified: branches/GSoC_2016/NTFS/sdk/include/ndk/rtltypes.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/ndk/…
Modified: branches/GSoC_2016/NTFS/sdk/include/psdk/ntstatus.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/psdk…
Modified: branches/GSoC_2016/NTFS/sdk/include/psdk/shlguid.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/psdk…
Modified: branches/GSoC_2016/NTFS/sdk/include/psdk/shlobj.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/psdk…
Modified: branches/GSoC_2016/NTFS/sdk/include/psdk/winbase.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/psdk…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/eventlogrpc.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/lsa.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/pnp.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/sam.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/sam.idl URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/svcctl.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/idl/winreg.acf URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/libs/syssetup/syssetup.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/include/reactos/mc/ntstatus.mc URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/include/reac…
Modified: branches/GSoC_2016/NTFS/sdk/lib/crt/libcntpr.cmake URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/crt/libc…
Modified: branches/GSoC_2016/NTFS/sdk/lib/crt/string/strtoi64.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/crt/stri…
Modified: branches/GSoC_2016/NTFS/sdk/lib/crt/string/strtoul.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/crt/stri…
Modified: branches/GSoC_2016/NTFS/sdk/lib/drivers/ntoskrnl_vista/fsrtl.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/drivers/…
Modified: branches/GSoC_2016/NTFS/sdk/lib/fslib/vfatlib/fat32.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/fslib/vf…
Modified: branches/GSoC_2016/NTFS/sdk/lib/rtl/acl.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/rtl/acl.…
Modified: branches/GSoC_2016/NTFS/sdk/lib/rtl/error.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/rtl/erro…
Modified: branches/GSoC_2016/NTFS/sdk/lib/rtl/heap.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/lib/rtl/heap…
Modified: branches/GSoC_2016/NTFS/sdk/tools/kbdtool/parser.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/sdk/tools/kbdtoo…
Modified: branches/GSoC_2016/NTFS/win32ss/user/user32/windows/message.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/win32ss/user/use…
Modified: branches/GSoC_2016/NTFS/win32ss/user/winsrv/usersrv/harderror.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/NTFS/win32ss/user/win…
8 years, 7 months
1
0
0
0
[pschweitzer] 71404: [NTOSKRNL] On CcInitializeCacheMap() call, keep track of the PinAccess value so that we can later check it on pinning. It shouldn't be set to FALSE when the user attempts to pe...
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Thu May 26 11:50:42 2016 New Revision: 71404 URL:
http://svn.reactos.org/svn/reactos?rev=71404&view=rev
Log: [NTOSKRNL] On CcInitializeCacheMap() call, keep track of the PinAccess value so that we can later check it on pinning. It shouldn't be set to FALSE when the user attempts to perform pinning CORE-11310 Modified: trunk/reactos/ntoskrnl/cc/fs.c trunk/reactos/ntoskrnl/cc/pin.c trunk/reactos/ntoskrnl/cc/view.c trunk/reactos/ntoskrnl/include/internal/cc.h Modified: trunk/reactos/ntoskrnl/cc/fs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/fs.c?rev=71404…
============================================================================== --- trunk/reactos/ntoskrnl/cc/fs.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/fs.c [iso-8859-1] Thu May 26 11:50:42 2016 @@ -103,6 +103,7 @@ /* Call old ROS cache init function */ Status = CcRosInitializeFileCache(FileObject, FileSizes, + PinAccess, CallBacks, LazyWriterContext); if (!NT_SUCCESS(Status)) Modified: trunk/reactos/ntoskrnl/cc/pin.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/pin.c?rev=7140…
============================================================================== --- trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] Thu May 26 11:50:42 2016 @@ -133,8 +133,18 @@ IN ULONG Flags, OUT PVOID * Bcb) { + PROS_SHARED_CACHE_MAP SharedCacheMap; + CCTRACE(CC_API_DEBUG, "FileOffset=%p FileOffset=%p Length=%lu Flags=0x%lx\n", FileObject, FileOffset, Length, Flags); + + ASSERT(FileObject); + ASSERT(FileObject->SectionObjectPointer); + ASSERT(FileObject->SectionObjectPointer->SharedCacheMap); + + SharedCacheMap = FileObject->SectionObjectPointer->SharedCacheMap; + ASSERT(SharedCacheMap); + ASSERT(SharedCacheMap->PinAccess); /* no-op for current implementation. */ return TRUE; Modified: trunk/reactos/ntoskrnl/cc/view.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/view.c?rev=714…
============================================================================== --- trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/view.c [iso-8859-1] Thu May 26 11:50:42 2016 @@ -1141,6 +1141,7 @@ CcRosInitializeFileCache ( PFILE_OBJECT FileObject, PCC_FILE_SIZES FileSizes, + BOOLEAN PinAccess, PCACHE_MANAGER_CALLBACKS CallBacks, PVOID LazyWriterContext) /* @@ -1172,6 +1173,7 @@ SharedCacheMap->LazyWriteContext = LazyWriterContext; SharedCacheMap->SectionSize = FileSizes->AllocationSize; SharedCacheMap->FileSize = FileSizes->FileSize; + SharedCacheMap->PinAccess = PinAccess; KeInitializeSpinLock(&SharedCacheMap->CacheMapLock); InitializeListHead(&SharedCacheMap->CacheMapVacbListHead); FileObject->SectionObjectPointer->SharedCacheMap = SharedCacheMap; Modified: trunk/reactos/ntoskrnl/include/internal/cc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/…
============================================================================== --- trunk/reactos/ntoskrnl/include/internal/cc.h [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/include/internal/cc.h [iso-8859-1] Thu May 26 11:50:42 2016 @@ -149,6 +149,7 @@ PFILE_OBJECT FileObject; LARGE_INTEGER SectionSize; LARGE_INTEGER FileSize; + BOOLEAN PinAccess; PCACHE_MANAGER_CALLBACKS Callbacks; PVOID LazyWriteContext; KSPIN_LOCK CacheMapLock; @@ -320,6 +321,7 @@ CcRosInitializeFileCache( PFILE_OBJECT FileObject, PCC_FILE_SIZES FileSizes, + BOOLEAN PinAccess, PCACHE_MANAGER_CALLBACKS CallBacks, PVOID LazyWriterContext );
8 years, 7 months
1
0
0
0
[hbelusca] 71403: [USER32]: Remove a leftover from r59868.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Thu May 26 00:53:54 2016 New Revision: 71403 URL:
http://svn.reactos.org/svn/reactos?rev=71403&view=rev
Log: [USER32]: Remove a leftover from r59868. Modified: trunk/reactos/win32ss/user/user32/windows/message.c Modified: trunk/reactos/win32ss/user/user32/windows/message.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/user32/window…
============================================================================== --- trunk/reactos/win32ss/user/user32/windows/message.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/user32/windows/message.c [iso-8859-1] Thu May 26 00:53:54 2016 @@ -1539,7 +1539,6 @@ { MSG AnsiMsg; MSG UnicodeMsg; - //ULONG_PTR LowLimit; BOOL Hook = FALSE, MsgOverride = FALSE, Dialog; LRESULT Result = 0, PreResult = 0; DWORD Data = 0; @@ -1552,14 +1551,7 @@ WARN("IntCallWindowsProcA() called with WndProc = NULL!\n"); return FALSE; } -#if 0 - LowLimit = (ULONG_PTR)NtCurrentTeb()->NtTib.StackLimit; - if (((ULONG_PTR)&lParam - LowLimit) < PAGE_SIZE ) - { - ERR("IntCallWindowsProcA() Exceeded Stack!\n"); - return FALSE; - } -#endif + if (pWnd) Dialog = (pWnd->fnid == FNID_DIALOG); else
8 years, 7 months
1
0
0
0
[hbelusca] 71402: [KERNEL32]: Indentation fix only.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Wed May 25 20:49:40 2016 New Revision: 71402 URL:
http://svn.reactos.org/svn/reactos?rev=71402&view=rev
Log: [KERNEL32]: Indentation fix only. Modified: trunk/reactos/dll/win32/kernel32/client/thread.c Modified: trunk/reactos/dll/win32/kernel32/client/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
============================================================================== --- trunk/reactos/dll/win32/kernel32/client/thread.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/thread.c [iso-8859-1] Wed May 25 20:49:40 2016 @@ -29,24 +29,24 @@ static LONG BaseThreadExceptionFilter(EXCEPTION_POINTERS * ExceptionInfo) { - LONG ExceptionDisposition = EXCEPTION_EXECUTE_HANDLER; - LPTOP_LEVEL_EXCEPTION_FILTER RealFilter; - RealFilter = RtlDecodePointer(GlobalTopLevelExceptionFilter); - - if (RealFilter != NULL) - { - _SEH2_TRY - { - ExceptionDisposition = RealFilter(ExceptionInfo); - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - ExceptionDisposition = UnhandledExceptionFilter(ExceptionInfo); - } - _SEH2_END; - } - - return ExceptionDisposition; + LONG ExceptionDisposition = EXCEPTION_EXECUTE_HANDLER; + LPTOP_LEVEL_EXCEPTION_FILTER RealFilter; + + RealFilter = RtlDecodePointer(GlobalTopLevelExceptionFilter); + if (RealFilter != NULL) + { + _SEH2_TRY + { + ExceptionDisposition = RealFilter(ExceptionInfo); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + ExceptionDisposition = UnhandledExceptionFilter(ExceptionInfo); + } + _SEH2_END; + } + + return ExceptionDisposition; } __declspec(noreturn)
8 years, 7 months
1
0
0
0
[pschweitzer] 71401: Create the lwIP branch for Zuodian's work
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Wed May 25 20:17:17 2016 New Revision: 71401 URL:
http://svn.reactos.org/svn/reactos?rev=71401&view=rev
Log: Create the lwIP branch for Zuodian's work Added: branches/GSoC_2016/lwIP/ (props changed) - copied from r71400, branches/network_stack/ Propchange: branches/GSoC_2016/lwIP/ ------------------------------------------------------------------------------ --- svn:ignore (added) +++ svn:ignore Wed May 25 20:17:17 2016 @@ -0,0 +1,14 @@ +*.iso +makefile.auto +makefile-*.auto +config-*.rbuild +obj-* +output-* +reactos +reactos.* +RosBE-Logs +*.sln +*.ncb +*.suo +versionreport.xml +config.rbuild Propchange: branches/GSoC_2016/lwIP/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Wed May 25 20:17:17 2016 @@ -0,0 +1,23 @@ +/branches/GSoC_2011/GSoC_Network:51548 +/branches/GSoC_2011/GSoC_TcpIpDriver:51550 +/branches/GSoC_2011/TcpIpDriver:51551-53074,53076-53119 +/branches/GSoC_Network:51545-51546 +/branches/cmake-bringup:50484,50693,50719,51544-52564 +/branches/condrv_restructure:63104-65657 +/branches/header-work:45691-47721 +/branches/kd++:58883-58973 +/branches/kernel-fun/reactos:62291,62294,62301-62302,62304,62321-62322,62353,62531-62532,62853,64152,64173-64174,65253 +/branches/ntvdm:59241-63176 +/branches/reactos-yarotows:45219-46371,46373-48025,48027-49273 +/branches/reactx/reactos:49994-49995 +/branches/ros-amd64-bringup:36852 +/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36443,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41483-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882 +/branches/ros-branch-0_3_15-lt2013:59059 +/branches/ros-csrss:57561-58762 +/branches/shell-experiments:61927-65494 +/branches/shell32_new-bringup:51893-53652,53661,53700 +/branches/tcp-rewrite-branch:48720,48840-48841,49424-49426,49454 +/branches/tcpip_revolution:65359-71023 +/branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859 +/branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567 +/branches/wlan-bringup:54809-54998 Propchange: branches/GSoC_2016/lwIP/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
8 years, 7 months
1
0
0
0
[mjansen] 71400: [APPHELP_APITEST] Remove some code duplication.
by mjansen@svn.reactos.org
Author: mjansen Date: Wed May 25 17:22:47 2016 New Revision: 71400 URL:
http://svn.reactos.org/svn/reactos?rev=71400&view=rev
Log: [APPHELP_APITEST] Remove some code duplication. Modified: trunk/rostests/apitests/apphelp/apphelp.c trunk/rostests/apitests/apphelp/data.c trunk/rostests/apitests/apphelp/layerapi.c Modified: trunk/rostests/apitests/apphelp/apphelp.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/apphelp/apphelp.…
============================================================================== --- trunk/rostests/apitests/apphelp/apphelp.c [iso-8859-1] (original) +++ trunk/rostests/apitests/apphelp/apphelp.c [iso-8859-1] Wed May 25 17:22:47 2016 @@ -40,21 +40,22 @@ void test_create_exe_imp(const char* name, int skip_rsrc_exports); void test_create_file_imp(const char* name, const char* contents, size_t len); void test_create_ne_imp(const char* name, int skip_names); +DWORD get_host_winver(); #define test_create_exe (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_exe_imp #define test_create_file (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_file_imp #define test_create_ne (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_ne_imp -static DWORD g_Version; - -#define VERSION_ANY 0 -#define VERSION_WINXP 0x0501 -#define VERSION_2003 0x0502 -#define VERSION_VISTA 0x0600 -#define VERSION_WIN7 0x0601 -#define VERSION_WIN8 0x0602 -#define VERSION_WIN10 0x1000 +static DWORD g_WinVersion; + +#define WINVER_ANY 0 +#define WINVER_WINXP 0x0501 +#define WINVER_2003 0x0502 +#define WINVER_VISTA 0x0600 +#define WINVER_WIN7 0x0601 +#define WINVER_WIN8 0x0602 +#define WINVER_WIN10 0x1000 typedef WORD TAG; @@ -187,20 +188,20 @@ const char* tags[7*8]; } data[] = { { - TAG_TYPE_NULL, 0x1000, __LINE__, VERSION_ANY, VERSION_2003, + TAG_TYPE_NULL, 0x1000, __LINE__, WINVER_ANY, WINVER_2003, { "InvalidTag", "INCLUDE", "GENERAL", "MATCH_LOGIC_NOT", "APPLY_ALL_SHIMS", "USE_SERVICE_PACK_FILES", NULL } }, { - TAG_TYPE_NULL, 0x1000, __LINE__, VERSION_VISTA, VERSION_VISTA, + TAG_TYPE_NULL, 0x1000, __LINE__, WINVER_VISTA, WINVER_VISTA, { "InvalidTag", "INCLUDE", "GENERAL", "MATCH_LOGIC_NOT", "APPLY_ALL_SHIMS", "USE_SERVICE_PACK_FILES", "MITIGATION_OS", "BLOCK_UPGRADE", "INCLUDEEXCLUDEDLL", NULL } }, { - TAG_TYPE_NULL, 0x1000, __LINE__, VERSION_WIN7, VERSION_ANY, + TAG_TYPE_NULL, 0x1000, __LINE__, WINVER_WIN7, WINVER_ANY, { "InvalidTag", "INCLUDE", "GENERAL", "MATCH_LOGIC_NOT", "APPLY_ALL_SHIMS", "USE_SERVICE_PACK_FILES", "MITIGATION_OS", "BLOCK_UPGRADE", "INCLUDEEXCLUDEDLL", "RAC_EVENT_OFF", "TELEMETRY_OFF", "SHIM_ENGINE_OFF", "LAYER_PROPAGATION_OFF", "REINSTALL_UPGRADE", NULL @@ -208,33 +209,33 @@ }, { - TAG_TYPE_BYTE, 0x1000, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_BYTE, 0x1000, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", NULL } }, { - TAG_TYPE_WORD, 0x800, __LINE__, VERSION_ANY, VERSION_WIN7, + TAG_TYPE_WORD, 0x800, __LINE__, WINVER_ANY, WINVER_WIN7, { "InvalidTag", "MATCH_MODE", NULL } }, { - TAG_TYPE_WORD, 0x800, __LINE__, VERSION_WIN8, VERSION_ANY, + TAG_TYPE_WORD, 0x800, __LINE__, WINVER_WIN8, WINVER_ANY, { "InvalidTag", "MATCH_MODE", "QUIRK_COMPONENT_CODE_ID", "QUIRK_CODE_ID", NULL } }, { - TAG_TYPE_WORD | 0x800, 0x800, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_WORD | 0x800, 0x800, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", "TAG", "INDEX_TAG", "INDEX_KEY", NULL } }, { - TAG_TYPE_DWORD, 0x800, __LINE__, VERSION_ANY, VERSION_WINXP, + TAG_TYPE_DWORD, 0x800, __LINE__, WINVER_ANY, WINVER_WINXP, { "InvalidTag", "SIZE", "OFFSET", "CHECKSUM", "SHIM_TAGID", "PATCH_TAGID", "MODULE_TYPE", "VERFILEDATEHI", "VERFILEDATELO", "VERFILEOS", "VERFILETYPE", "PE_CHECKSUM", "PREVOSMAJORVERSION", "PREVOSMINORVERSION", "PREVOSPLATFORMID", "PREVOSBUILDNO", @@ -244,7 +245,7 @@ } }, { - TAG_TYPE_DWORD, 0x800, __LINE__, VERSION_2003, VERSION_2003, + TAG_TYPE_DWORD, 0x800, __LINE__, WINVER_2003, WINVER_2003, { "InvalidTag", "SIZE", "OFFSET", "CHECKSUM", "SHIM_TAGID", "PATCH_TAGID", "MODULE_TYPE", "VERFILEDATEHI", "VERFILEDATELO", "VERFILEOS", "VERFILETYPE", "PE_CHECKSUM", "PREVOSMAJORVERSION", "PREVOSMINORVERSION", "PREVOSPLATFORMID", "PREVOSBUILDNO", @@ -254,7 +255,7 @@ } }, { - TAG_TYPE_DWORD, 0x800, __LINE__, VERSION_VISTA, VERSION_VISTA, + TAG_TYPE_DWORD, 0x800, __LINE__, WINVER_VISTA, WINVER_VISTA, { "InvalidTag", "SIZE", "OFFSET", "CHECKSUM", "SHIM_TAGID", "PATCH_TAGID", "MODULE_TYPE", "VERDATEHI", "VERDATELO", "VERFILEOS", "VERFILETYPE", "PE_CHECKSUM", "PREVOSMAJORVER", "PREVOSMINORVER", "PREVOSPLATFORMID", "PREVOSBUILDNO", @@ -265,7 +266,7 @@ } }, { - TAG_TYPE_DWORD, 0x800, __LINE__, VERSION_WIN7, VERSION_ANY, + TAG_TYPE_DWORD, 0x800, __LINE__, WINVER_WIN7, WINVER_ANY, { "InvalidTag", "SIZE", "OFFSET", "CHECKSUM", "SHIM_TAGID", "PATCH_TAGID", "MODULE_TYPE", "VERDATEHI", "VERDATELO", "VERFILEOS", "VERFILETYPE", "PE_CHECKSUM", "PREVOSMAJORVER", "PREVOSMINORVER", "PREVOSPLATFORMID", "PREVOSBUILDNO", @@ -277,21 +278,21 @@ } }, { - TAG_TYPE_DWORD | 0x800, 0x800, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_DWORD | 0x800, 0x800, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", "TAGID", NULL } }, { - TAG_TYPE_QWORD, 0x1000, __LINE__, VERSION_ANY, VERSION_WINXP, + TAG_TYPE_QWORD, 0x1000, __LINE__, WINVER_ANY, WINVER_WINXP, { "InvalidTag", "TIME", "BIN_FILE_VERSION", "BIN_PRODUCT_VERSION", "MODTIME", "FLAG_MASK_KERNEL", "UPTO_BIN_PRODUCT_VERSION", "DATA_QWORD", "FLAG_MASK_USER", "FLAGS_NTVDM1", "FLAGS_NTVDM2", "FLAGS_NTVDM3", "FLAG_MASK_SHELL", "UPTO_BIN_FILE_VERSION", NULL } }, { - TAG_TYPE_QWORD, 0x1000, __LINE__, VERSION_2003, VERSION_2003, + TAG_TYPE_QWORD, 0x1000, __LINE__, WINVER_2003, WINVER_2003, { "InvalidTag", "TIME", "BIN_FILE_VERSION", "BIN_PRODUCT_VERSION", "MODTIME", "FLAG_MASK_KERNEL", "UPTO_BIN_PRODUCT_VERSION", "DATA_QWORD", "FLAG_MASK_USER", "FLAGS_NTVDM1", "FLAGS_NTVDM2", "FLAGS_NTVDM3", "FLAG_MASK_SHELL", "UPTO_BIN_FILE_VERSION", "FLAG_MASK_FUSION", "FLAGS_PROCESSPARAM", @@ -299,7 +300,7 @@ } }, { - TAG_TYPE_QWORD, 0x1000, __LINE__, VERSION_VISTA, VERSION_ANY, + TAG_TYPE_QWORD, 0x1000, __LINE__, WINVER_VISTA, WINVER_ANY, { "InvalidTag", "TIME", "BIN_FILE_VERSION", "BIN_PRODUCT_VERSION", "MODTIME", "FLAG_MASK_KERNEL", "UPTO_BIN_PRODUCT_VERSION", "DATA_QWORD", "FLAG_MASK_USER", "FLAGS_NTVDM1", "FLAGS_NTVDM2", "FLAGS_NTVDM3", "FLAG_MASK_SHELL", "UPTO_BIN_FILE_VERSION", "FLAG_MASK_FUSION", "FLAG_PROCESSPARAM", @@ -308,7 +309,7 @@ }, { - TAG_TYPE_STRINGREF, 0x1000, __LINE__, VERSION_ANY, VERSION_2003, + TAG_TYPE_STRINGREF, 0x1000, __LINE__, WINVER_ANY, WINVER_2003, { "InvalidTag", "NAME", "DESCRIPTION", "MODULE", "API", "VENDOR", "APP_NAME", "InvalidTag", "COMMAND_LINE", "COMPANY_NAME", "DLLFILE", "WILDCARD_NAME", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", @@ -318,7 +319,7 @@ } }, { - TAG_TYPE_STRINGREF, 0x1000, __LINE__, VERSION_VISTA, VERSION_VISTA, + TAG_TYPE_STRINGREF, 0x1000, __LINE__, WINVER_VISTA, WINVER_VISTA, { "InvalidTag", "NAME", "DESCRIPTION", "MODULE", "API", "VENDOR", "APP_NAME", "InvalidTag", "COMMAND_LINE", "COMPANY_NAME", "DLLFILE", "WILDCARD_NAME", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", @@ -328,7 +329,7 @@ } }, { - TAG_TYPE_STRINGREF, 0x1000, __LINE__, VERSION_WIN7, VERSION_ANY, + TAG_TYPE_STRINGREF, 0x1000, __LINE__, WINVER_WIN7, WINVER_ANY, { "InvalidTag", "NAME", "DESCRIPTION", "MODULE", "API", "VENDOR", "APP_NAME", "InvalidTag", "COMMAND_LINE", "COMPANY_NAME", "DLLFILE", "WILDCARD_NAME", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", @@ -339,7 +340,7 @@ }, { - TAG_TYPE_LIST, 0x800, __LINE__, VERSION_ANY, VERSION_2003, + TAG_TYPE_LIST, 0x800, __LINE__, WINVER_ANY, WINVER_2003, { "InvalidTag", "DATABASE", "LIBRARY", "INEXCLUDE", "SHIM", "PATCH", "APP", "EXE", "MATCHING_FILE", "SHIM_REF", "PATCH_REF", "LAYER", "FILE", "APPHELP", "LINK", "DATA", @@ -347,7 +348,7 @@ } }, { - TAG_TYPE_LIST, 0x800, __LINE__, VERSION_VISTA, VERSION_VISTA, + TAG_TYPE_LIST, 0x800, __LINE__, WINVER_VISTA, WINVER_VISTA, { "InvalidTag", "DATABASE", "LIBRARY", "INEXCLUDE", "SHIM", "PATCH", "APP", "EXE", "MATCHING_FILE", "SHIM_REF", "PATCH_REF", "LAYER", "FILE", "APPHELP", "LINK", "DATA", @@ -356,7 +357,7 @@ } }, { - TAG_TYPE_LIST, 0x800, __LINE__, VERSION_WIN7, VERSION_ANY, + TAG_TYPE_LIST, 0x800, __LINE__, WINVER_WIN7, WINVER_ANY, { "InvalidTag", "DATABASE", "LIBRARY", "INEXCLUDE", "SHIM", "PATCH", "APP", "EXE", "MATCHING_FILE", "SHIM_REF", "PATCH_REF", "LAYER", "FILE", "APPHELP", "LINK", "DATA", @@ -366,26 +367,26 @@ } }, { - TAG_TYPE_LIST | 0x800, 0x800, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_LIST | 0x800, 0x800, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", "STRINGTABLE", "INDEXES", "INDEX", NULL } }, { - TAG_TYPE_STRING, 0x800, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_STRING, 0x800, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", NULL } }, { - TAG_TYPE_STRING | 0x800, 0x800, __LINE__, VERSION_ANY, VERSION_2003, + TAG_TYPE_STRING | 0x800, 0x800, __LINE__, WINVER_ANY, WINVER_2003, { "InvalidTag", "STRTAB_ITEM", NULL } }, { - TAG_TYPE_STRING | 0x800, 0x800, __LINE__, VERSION_VISTA, VERSION_ANY, + TAG_TYPE_STRING | 0x800, 0x800, __LINE__, WINVER_VISTA, WINVER_ANY, { "InvalidTag", "STRINGTABLE_ITEM", NULL } @@ -393,21 +394,21 @@ { - TAG_TYPE_BINARY, 0x800, __LINE__, VERSION_ANY, VERSION_2003, + TAG_TYPE_BINARY, 0x800, __LINE__, WINVER_ANY, WINVER_2003, { "InvalidTag", "InvalidTag", "PATCH_BITS", "FILE_BITS", "EXE_ID(GUID)", "DATA_BITS", "MSI_PACKAGE_ID(GUID)", "DATABASE_ID(GUID)", NULL } }, { - TAG_TYPE_BINARY, 0x800, __LINE__, VERSION_VISTA, VERSION_VISTA, + TAG_TYPE_BINARY, 0x800, __LINE__, WINVER_VISTA, WINVER_VISTA, { "InvalidTag", "InvalidTag", "PATCH_BITS", "FILE_BITS", "EXE_ID", "DATA_BITS", "MSI_PACKAGE_ID", "DATABASE_ID", NULL } }, { - TAG_TYPE_BINARY, 0x800, __LINE__, VERSION_WIN7, VERSION_ANY, + TAG_TYPE_BINARY, 0x800, __LINE__, WINVER_WIN7, WINVER_ANY, { "InvalidTag", "InvalidTag", "PATCH_BITS", "FILE_BITS", "EXE_ID", "DATA_BITS", "MSI_PACKAGE_ID", "DATABASE_ID", "CONTEXT_PLATFORM_ID", "CONTEXT_BRANCH_ID", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", "InvalidTag", @@ -415,7 +416,7 @@ } }, { - TAG_TYPE_BINARY | 0x800, 0x800, __LINE__, VERSION_ANY, VERSION_ANY, + TAG_TYPE_BINARY | 0x800, 0x800, __LINE__, WINVER_ANY, WINVER_ANY, { "InvalidTag", "INDEX_BITS", NULL } @@ -430,8 +431,8 @@ int n; for (n = 0; data[n].base; ++n) { - if ((data[n].min_ver == VERSION_ANY || g_Version >= data[n].min_ver) && - (data[n].max_ver == VERSION_ANY || g_Version <= data[n].max_ver)) + if ((data[n].min_ver == WINVER_ANY || g_WinVersion >= data[n].min_ver) && + (data[n].max_ver == WINVER_ANY || g_WinVersion <= data[n].max_ver)) { test_tag(data[n].base, data[n].tags, data[n].upper_limit, data[n].line); } @@ -846,15 +847,8 @@ START_TEST(apphelp) { - RTL_OSVERSIONINFOEXW rtlinfo; - rtlinfo.dwOSVersionInfoSize = sizeof(rtlinfo); -#ifdef __REACTOS__ - RtlGetVersion((PRTL_OSVERSIONINFOW)&rtlinfo); -#else - RtlGetVersion(&rtlinfo); -#endif - g_Version = (rtlinfo.dwMajorVersion << 8) | rtlinfo.dwMinorVersion; - trace("Detected version: 0x%x\n", g_Version); + g_WinVersion = get_host_winver(); + trace("Detected version: 0x%x\n", g_WinVersion); //SetEnvironmentVariable("SHIM_DEBUG_LEVEL", "4"); //SetEnvironmentVariable("DEBUGCHANNEL", "+apphelp"); hdll = LoadLibraryA("apphelp.dll"); @@ -869,10 +863,10 @@ test_ApplicationAttributes(); test_SdbTagToString(); #ifdef __REACTOS__ - if (g_Version < VERSION_WIN7) - { - g_Version = VERSION_WIN7; - trace("Using version 0x%x for SdbTagToString tests\n", g_Version); + if (g_WinVersion < WINVER_WIN7) + { + g_WinVersion = WINVER_WIN7; + trace("Using version 0x%x for SdbTagToString tests\n", g_WinVersion); } #endif test_SdbTagToStringAllTags(); Modified: trunk/rostests/apitests/apphelp/data.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/apphelp/data.c?r…
============================================================================== --- trunk/rostests/apitests/apphelp/data.c [iso-8859-1] (original) +++ trunk/rostests/apitests/apphelp/data.c [iso-8859-1] Wed May 25 17:22:47 2016 @@ -1,5 +1,5 @@ /* - * Copyright 2015 Mark Jansen + * Copyright 2015,2016 Mark Jansen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -783,3 +783,19 @@ } } +static DWORD g_WinVersion; +DWORD get_host_winver() +{ + if (!g_WinVersion) + { + RTL_OSVERSIONINFOEXW rtlinfo = {0}; + void (__stdcall* pRtlGetVersion)(RTL_OSVERSIONINFOEXW*); + pRtlGetVersion = (void (__stdcall*)(RTL_OSVERSIONINFOEXW*))GetProcAddress(GetModuleHandleA("ntdll"), "RtlGetVersion"); + + rtlinfo.dwOSVersionInfoSize = sizeof(rtlinfo); + pRtlGetVersion(&rtlinfo); + g_WinVersion = (rtlinfo.dwMajorVersion << 8) | rtlinfo.dwMinorVersion; + } + return g_WinVersion; +} + Modified: trunk/rostests/apitests/apphelp/layerapi.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/apphelp/layerapi…
============================================================================== --- trunk/rostests/apitests/apphelp/layerapi.c [iso-8859-1] (original) +++ trunk/rostests/apitests/apphelp/layerapi.c [iso-8859-1] Wed May 25 17:22:47 2016 @@ -1,5 +1,5 @@ /* - * Copyright 2015 Mark Jansen + * Copyright 2015,2016 Mark Jansen * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -31,6 +31,8 @@ #include "wine/test.h" +/* data.c */ +DWORD get_host_winver(); #define GPLK_USER 1 #define GPLK_MACHINE 2 @@ -45,10 +47,10 @@ static BOOL(WINAPI *pSetPermLayerState)(PCWSTR wszPath, PCWSTR wszLayer, DWORD dwFlags, BOOL bMachine, BOOL bEnable); -static DWORD g_Version; -#define APPHELP_VISTA 0x0600 -#define APPHELP_WIN8 0x0602 -#define APPHELP_WIN10 0x1000 +static DWORD g_WinVersion; +#define WINVER_VISTA 0x0600 +#define WINVER_WIN8 0x0602 +#define WINVER_WIN10 0x1000 /* Helper function to disable Wow64 redirection on an os that reports it being enabled. */ @@ -137,7 +139,7 @@ else winetest_ok(dwBufSize == lenResult || /* W2k3 is off by 2 when concatenating user / machine */ - broken(g_Version < APPHELP_VISTA && type == (GPLK_MACHINE|GPLK_USER) && (lenResult + 2) == dwBufSize), + broken(g_WinVersion < WINVER_VISTA && type == (GPLK_MACHINE|GPLK_USER) && (lenResult + 2) == dwBufSize), "Expected dwBufSize to be %u, was %u\n", lenResult, dwBufSize); if (result) { @@ -173,7 +175,7 @@ char drive_letter; UINT drivetype = 0; ok(pAllowPermLayer(NULL) == FALSE, "Expected AllowPermLayer to fail for NULL\n"); - if (g_Version < APPHELP_WIN8) + if (g_WinVersion < WINVER_WIN8) { ok(wrapAllowPermLayer("-:"), "Expected AllowPermLayer to succeed\n"); ok(wrapAllowPermLayer("@:"), "Expected AllowPermLayer to succeed\n"); @@ -371,7 +373,7 @@ ok(wrapSetPermLayerState(emptyString, "TEST", 0, bMachine, 0) == FALSE, "Expected SetPermLayerState to fail\n"); expect_LayerValue(bMachine, NULL, NULL); - if (g_Version <= APPHELP_WIN8) + if (g_WinVersion <= WINVER_WIN8) { ok(wrapSetPermLayerState(emptyString, "TEST", 0, bMachine, 1) == FALSE, "Expected SetPermLayerState to fail\n"); expect_LayerValue(bMachine, NULL, NULL); @@ -399,13 +401,13 @@ expect_LayerValue(bMachine, file, "TEST"); ok(wrapSetPermLayerState(fileW, "TEST1", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "TEST TEST1", g_Version >= APPHELP_WIN8, "TEST1 TEST"); + expect_LayerValue2(bMachine, file, "TEST TEST1", g_WinVersion >= WINVER_WIN8, "TEST1 TEST"); ok(wrapSetPermLayerState(fileW, "TEST2", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "TEST TEST1 TEST2", g_Version >= APPHELP_WIN8, "TEST2 TEST1 TEST"); + expect_LayerValue2(bMachine, file, "TEST TEST1 TEST2", g_WinVersion >= WINVER_WIN8, "TEST2 TEST1 TEST"); ok(wrapSetPermLayerState(fileW, "TEST1", 0, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "TEST TEST2", g_Version >= APPHELP_WIN8, "TEST2 TEST"); + expect_LayerValue2(bMachine, file, "TEST TEST2", g_WinVersion >= WINVER_WIN8, "TEST2 TEST"); ok(wrapSetPermLayerState(fileW, "TEST", 0, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); expect_LayerValue(bMachine, file, "TEST2"); @@ -415,7 +417,7 @@ /* Valid flags until win8: !# */ /* Key is empty, now play around with the flags. */ - for (dwFlag = ((g_Version >= APPHELP_WIN8) ? 6 : 2); dwFlag < 32; ++dwFlag) + for (dwFlag = ((g_WinVersion >= WINVER_WIN8) ? 6 : 2); dwFlag < 32; ++dwFlag) { ok(wrapSetPermLayerState(fileW, "TEST", (1<<dwFlag), bMachine, 1) == FALSE, "Expected SetPermLayerState to fail on 0x%x\n", (1<<dwFlag)); } @@ -426,23 +428,23 @@ expect_LayerValue(bMachine, file, "# TEST"); ok(wrapSetPermLayerState(fileW, "TEST2", 2, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST TEST2", g_Version >= APPHELP_WIN8, "!# TEST2 TEST"); + expect_LayerValue2(bMachine, file, "!# TEST TEST2", g_WinVersion >= WINVER_WIN8, "!# TEST2 TEST"); ok(wrapSetPermLayerState(fileW, "TEST", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST2 TEST", g_Version >= APPHELP_WIN8, "!# TEST TEST2"); + expect_LayerValue2(bMachine, file, "!# TEST2 TEST", g_WinVersion >= WINVER_WIN8, "!# TEST TEST2"); ok(wrapSetPermLayerState(fileW, "TEST3", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST2 TEST TEST3", g_Version >= APPHELP_WIN8, "!# TEST3 TEST TEST2"); + expect_LayerValue2(bMachine, file, "!# TEST2 TEST TEST3", g_WinVersion >= WINVER_WIN8, "!# TEST3 TEST TEST2"); /* Remove on a flag removes that flag from the start. */ ok(wrapSetPermLayerState(fileW, "TEST2", 2, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "# TEST TEST3", g_Version >= APPHELP_WIN8, "# TEST3 TEST"); + expect_LayerValue2(bMachine, file, "# TEST TEST3", g_WinVersion >= WINVER_WIN8, "# TEST3 TEST"); ok(wrapSetPermLayerState(fileW, "", LAYER_APPLY_TO_SYSTEM_EXES, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "TEST TEST3", g_Version >= APPHELP_WIN8, "TEST3 TEST"); + expect_LayerValue2(bMachine, file, "TEST TEST3", g_WinVersion >= WINVER_WIN8, "TEST3 TEST"); ok(wrapSetPermLayerState(fileW, "", LAYER_APPLY_TO_SYSTEM_EXES | 2, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST TEST3", g_Version >= APPHELP_WIN8, "!# TEST3 TEST"); + expect_LayerValue2(bMachine, file, "!# TEST TEST3", g_WinVersion >= WINVER_WIN8, "!# TEST3 TEST"); ok(wrapSetPermLayerState(fileW, "TEST3", LAYER_APPLY_TO_SYSTEM_EXES, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); expect_LayerValue(bMachine, file, "! TEST"); @@ -468,17 +470,17 @@ setLayerValue(bMachine, file, "!#!# TEST2 TEST2 !# TEST "); ok(wrapSetPermLayerState(fileW, "TEST1", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST2 TEST2 !# TEST TEST1", g_Version >= APPHELP_WIN8, "!# TEST1 TEST2 TEST2 !# TEST"); + expect_LayerValue2(bMachine, file, "!# TEST2 TEST2 !# TEST TEST1", g_WinVersion >= WINVER_WIN8, "!# TEST1 TEST2 TEST2 !# TEST"); /* Removing a duplicate entry will remove all instances of it */ ok(wrapSetPermLayerState(fileW, "TEST2", 0, bMachine, 0) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# !# TEST TEST1", g_Version >= APPHELP_WIN8, "!# TEST1 !# TEST"); + expect_LayerValue2(bMachine, file, "!# !# TEST TEST1", g_WinVersion >= WINVER_WIN8, "!# TEST1 !# TEST"); /* Adding a flag cleans other flags (from the start) */ ok(wrapSetPermLayerState(fileW, "", LAYER_APPLY_TO_SYSTEM_EXES, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# TEST TEST1", g_Version >= APPHELP_WIN8, "!# TEST1 !# TEST"); - - if(g_Version < APPHELP_WIN8) + expect_LayerValue2(bMachine, file, "!# TEST TEST1", g_WinVersion >= WINVER_WIN8, "!# TEST1 !# TEST"); + + if(g_WinVersion < WINVER_WIN8) { ok(wrapSetPermLayerState(fileW, "$%$%^^", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); expect_LayerValue(bMachine, file, "!# TEST TEST1 $%$%^^"); @@ -491,12 +493,12 @@ /* Tabs are treated as spaces */ setLayerValue(bMachine, file, "!#!# TEST2 \t TEST2 !# \t TEST "); ok(wrapSetPermLayerState(fileW, "TEST2", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# !# TEST TEST2", g_Version >= APPHELP_WIN8, "!# TEST2 !# TEST"); + expect_LayerValue2(bMachine, file, "!# !# TEST TEST2", g_WinVersion >= WINVER_WIN8, "!# TEST2 !# TEST"); /* Newlines are left as-is */ setLayerValue(bMachine, file, "!#!# TEST2 \n TEST2 !# \r\n TEST "); ok(wrapSetPermLayerState(fileW, "TEST2", 0, bMachine, 1) == TRUE, "Expected SetPermLayerState to succeed\n"); - expect_LayerValue2(bMachine, file, "!# \n !# \r\n TEST TEST2", g_Version >= APPHELP_WIN8, "!# TEST2 \n !# \r\n TEST"); + expect_LayerValue2(bMachine, file, "!# \n !# \r\n TEST TEST2", g_WinVersion >= WINVER_WIN8, "!# TEST2 \n !# \r\n TEST"); /* Whitespace and duplicate flags are eaten from the start */ setLayerValue(bMachine, file, " !#!# TEST2 \t TEST2 !# \t TEST "); @@ -750,7 +752,7 @@ if(ret) { ret = RedirectIat("apphelp.dll", "kernel32.dll", "GetDriveTypeW", (ULONG_PTR)mGetDriveTypeW, (ULONG_PTR*)&pGetDriveTypeW); - if (g_Version < APPHELP_WIN8) + if (g_WinVersion < WINVER_WIN8) ok(ret, "Expected redirect_iat to succeed\n"); if(ret) { @@ -875,20 +877,13 @@ START_TEST(layerapi) { - RTL_OSVERSIONINFOEXW rtlinfo; /*SetEnvironmentVariable("SHIM_DEBUG_LEVEL", "4");*/ hdll = LoadLibraryA("apphelp.dll"); pAllowPermLayer = (void *)GetProcAddress(hdll, "AllowPermLayer"); pSdbSetPermLayerKeys = (void *)GetProcAddress(hdll, "SdbSetPermLayerKeys"); pSdbGetPermLayerKeys = (void *)GetProcAddress(hdll, "SdbGetPermLayerKeys"); pSetPermLayerState = (void *)GetProcAddress(hdll, "SetPermLayerState"); - rtlinfo.dwOSVersionInfoSize = sizeof(rtlinfo); -#ifdef __REACTOS__ - RtlGetVersion((PRTL_OSVERSIONINFOW)&rtlinfo); -#else - RtlGetVersion(&rtlinfo); -#endif - g_Version = (rtlinfo.dwMajorVersion << 8) | rtlinfo.dwMinorVersion; + g_WinVersion = get_host_winver(); if (!pAllowPermLayer) {
8 years, 7 months
1
0
0
0
← Newer
1
...
5
6
7
8
9
10
11
...
26
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
Results per page:
10
25
50
100
200