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
April 2011
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
19 participants
296 discussions
Start a n
N
ew thread
[akhaldi] 51363: [CMAKE] * Fix a typo.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 15 22:51:17 2011 New Revision: 51363 URL:
http://svn.reactos.org/svn/reactos?rev=51363&view=rev
Log: [CMAKE] * Fix a typo. Modified: branches/cmake-bringup/include/psdk/ksproxy.h Modified: branches/cmake-bringup/include/psdk/ksproxy.h URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/include/psdk/kspr…
============================================================================== --- branches/cmake-bringup/include/psdk/ksproxy.h [iso-8859-1] (original) +++ branches/cmake-bringup/include/psdk/ksproxy.h [iso-8859-1] Fri Apr 15 22:51:17 2011 @@ -772,7 +772,7 @@ #ifndef _IKsTopology_ #define _IKsTopology_ -DEFINE_GUID(IID_IKsAggregateControl, 0x28F54683, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0A0, 0xC9, 0x22, 0x31, 0x96); +DEFINE_GUID(IID_IKsTopology, 0x28F54683, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0A0, 0xC9, 0x22, 0x31, 0x96); #undef INTERFACE #define INTERFACE IKsTopology
13 years, 8 months
1
0
0
0
[akhaldi] 51362: [CMAKE] * Remove inflib from build. It's been superseded by newinflib. * Rename newinflibhost and newinflib targets into inflibhost and inflib respectively. * Update mkhive and use...
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 15 22:49:50 2011 New Revision: 51362 URL:
http://svn.reactos.org/svn/reactos?rev=51362&view=rev
Log: [CMAKE] * Remove inflib from build. It's been superseded by newinflib. * Rename newinflibhost and newinflib targets into inflibhost and inflib respectively. * Update mkhive and usetup to link to the new targets. Modified: branches/cmake-bringup/base/setup/usetup/CMakeLists.txt branches/cmake-bringup/lib/CMakeLists.txt branches/cmake-bringup/lib/newinflib/CMakeLists.txt branches/cmake-bringup/tools/mkhive/CMakeLists.txt Modified: branches/cmake-bringup/base/setup/usetup/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/base/setup/usetup…
============================================================================== --- branches/cmake-bringup/base/setup/usetup/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/base/setup/usetup/CMakeLists.txt [iso-8859-1] Fri Apr 15 22:49:50 2011 @@ -33,7 +33,7 @@ target_link_libraries(usetup mingw_main zlib - newinflib + inflib ext2lib vfatlib mingw_common) Modified: branches/cmake-bringup/lib/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/CMakeLists.tx…
============================================================================== --- branches/cmake-bringup/lib/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/lib/CMakeLists.txt [iso-8859-1] Fri Apr 15 22:49:50 2011 @@ -1,6 +1,5 @@ add_subdirectory(cmlib) -add_subdirectory(inflib) add_subdirectory(newinflib) if(CMAKE_CROSSCOMPILING) Modified: branches/cmake-bringup/lib/newinflib/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/lib/newinflib/CMa…
============================================================================== --- branches/cmake-bringup/lib/newinflib/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/lib/newinflib/CMakeLists.txt [iso-8859-1] Fri Apr 15 22:49:50 2011 @@ -1,16 +1,28 @@ -set(GLOBAL_FILES infcore.c infget.c infput.c) +list(APPEND GLOBAL_FILES + infcore.c + infget.c + infput.c) if(CMAKE_CROSSCOMPILING) - file(GLOB_RECURSE SOURCE "infros*.c") - add_library(newinflib ${GLOBAL_FILES} ${SOURCE}) - add_dependencies(newinflib psdk) + list(APPEND SOURCE + infrosgen.c + infrosget.c + infrosput.c) + + add_library(inflib ${GLOBAL_FILES} ${SOURCE}) + add_dependencies(inflib psdk) else() - file(GLOB_RECURSE SOURCE "infhost*.c") + list(APPEND SOURCE + infhostgen.c + infhostget.c + infhostput.c + infhostrtl.c) + add_definitions(-DWINE_UNICODE_API= -D__NO_CTYPE_INLINES -DINFLIB_HOST -DUSE_HOST_WCSFUNCS) if(NOT MSVC) add_definitions(-Wpointer-arith -Wwrite-strings) endif() - add_library(newinflibhost ${GLOBAL_FILES} ${SOURCE}) - target_link_libraries(newinflibhost unicode) + add_library(inflibhost ${GLOBAL_FILES} ${SOURCE}) + target_link_libraries(inflibhost unicode) endif() Modified: branches/cmake-bringup/tools/mkhive/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/tools/mkhive/CMak…
============================================================================== --- branches/cmake-bringup/tools/mkhive/CMakeLists.txt [iso-8859-1] (original) +++ branches/cmake-bringup/tools/mkhive/CMakeLists.txt [iso-8859-1] Fri Apr 15 22:49:50 2011 @@ -17,4 +17,4 @@ rtl.c) add_executable(mkhive ${SOURCE}) -target_link_libraries(mkhive unicode cmlibhost newinflibhost) +target_link_libraries(mkhive unicode cmlibhost inflibhost)
13 years, 8 months
1
0
0
0
[akhaldi] 51361: [CMAKE] * Back out r51360. The export in question is in ole32 (DllGetClassObject). This fixes comcat msvc build.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 15 22:41:41 2011 New Revision: 51361 URL:
http://svn.reactos.org/svn/reactos?rev=51361&view=rev
Log: [CMAKE] * Back out r51360. The export in question is in ole32 (DllGetClassObject). This fixes comcat msvc build. Modified: branches/cmake-bringup/dll/win32/ole32/ole32.spec branches/cmake-bringup/drivers/ksfilter/ks/ks.spec Modified: branches/cmake-bringup/dll/win32/ole32/ole32.spec URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/win32/ole32/o…
============================================================================== --- branches/cmake-bringup/dll/win32/ole32/ole32.spec [iso-8859-1] (original) +++ branches/cmake-bringup/dll/win32/ole32/ole32.spec [iso-8859-1] Fri Apr 15 22:41:41 2011 @@ -98,7 +98,7 @@ @ stdcall CreatePointerMoniker(ptr ptr) @ stdcall CreateStreamOnHGlobal(ptr long ptr) @ stdcall DllDebugObjectRPCHook(long ptr) -@ stdcall -private DllGetClassObject (ptr ptr ptr) +@ stdcall DllGetClassObject (ptr ptr ptr) @ stub DllGetClassObjectWOW @ stdcall -private DllRegisterServer() @ stdcall -private DllUnregisterServer() Modified: branches/cmake-bringup/drivers/ksfilter/ks/ks.spec URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/ksfilter/…
============================================================================== --- branches/cmake-bringup/drivers/ksfilter/ks/ks.spec [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/ksfilter/ks/ks.spec [iso-8859-1] Fri Apr 15 22:41:41 2011 @@ -9,7 +9,7 @@ @ stdcall -i386 ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z(ptr ptr ptr) INonDelegatedUnknown_fnQueryInterface @ stdcall ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ(ptr) IIndirectedUnknown_fnRelease -@ stdcall -private DllInitialize(ptr) +@ stdcall DllInitialize(ptr) @ stdcall KoCreateInstance(ptr ptr long ptr ptr) @ stdcall KoDeviceInitialize(ptr) @ stdcall KoDriverInitialize(ptr ptr ptr)
13 years, 8 months
1
0
0
0
[akhaldi] 51360: [CMAKE] - Silence a linker warning about DllInitialize.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 15 22:36:17 2011 New Revision: 51360 URL:
http://svn.reactos.org/svn/reactos?rev=51360&view=rev
Log: [CMAKE] - Silence a linker warning about DllInitialize. Modified: branches/cmake-bringup/drivers/ksfilter/ks/ks.spec Modified: branches/cmake-bringup/drivers/ksfilter/ks/ks.spec URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/drivers/ksfilter/…
============================================================================== --- branches/cmake-bringup/drivers/ksfilter/ks/ks.spec [iso-8859-1] (original) +++ branches/cmake-bringup/drivers/ksfilter/ks/ks.spec [iso-8859-1] Fri Apr 15 22:36:17 2011 @@ -9,7 +9,7 @@ @ stdcall -i386 ?NonDelegatedQueryInterface@CBaseUnknown@@UAGJABU_GUID@@PAPAX@Z(ptr ptr ptr) INonDelegatedUnknown_fnQueryInterface @ stdcall ?NonDelegatedRelease@CBaseUnknown@@UAGKXZ(ptr) IIndirectedUnknown_fnRelease -@ stdcall DllInitialize(ptr) +@ stdcall -private DllInitialize(ptr) @ stdcall KoCreateInstance(ptr ptr long ptr ptr) @ stdcall KoDeviceInitialize(ptr) @ stdcall KoDriverInitialize(ptr ptr ptr)
13 years, 8 months
1
0
0
0
[akhaldi] 51359: [CMAKE] * Empty CMAKE_C_STANDARD_LIBRARIES_INIT
by akhaldi@svn.reactos.org
Author: akhaldi Date: Fri Apr 15 22:34:20 2011 New Revision: 51359 URL:
http://svn.reactos.org/svn/reactos?rev=51359&view=rev
Log: [CMAKE] * Empty CMAKE_C_STANDARD_LIBRARIES_INIT Modified: branches/cmake-bringup/cmake/Platform/Windows-cl.cmake Modified: branches/cmake-bringup/cmake/Platform/Windows-cl.cmake URL:
http://svn.reactos.org/svn/reactos/branches/cmake-bringup/cmake/Platform/Wi…
============================================================================== --- branches/cmake-bringup/cmake/Platform/Windows-cl.cmake [iso-8859-1] (original) +++ branches/cmake-bringup/cmake/Platform/Windows-cl.cmake [iso-8859-1] Fri Apr 15 22:34:20 2011 @@ -218,7 +218,7 @@ SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "/O1 /Ob1 /D NDEBUG") SET(CMAKE_C_FLAGS_RELEASE_INIT "/O2 /Ob2 /D NDEBUG") SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/Zi /O2 /Ob1") -SET(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ") +SET(CMAKE_C_STANDARD_LIBRARIES_INIT "") SET(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT}") SET(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
13 years, 8 months
1
0
0
0
[rharabien] 51358: [SYSSETUP] * Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me See issue #6099 for more details.
by rharabien@svn.reactos.org
Author: rharabien Date: Fri Apr 15 20:42:07 2011 New Revision: 51358 URL:
http://svn.reactos.org/svn/reactos?rev=51358&view=rev
Log: [SYSSETUP] * Generate random computer name (REACTOS-xxxxxxx) in Setup. Patch by David Quintana <gigaherz at gmail dot com> modified by me See issue #6099 for more details. Modified: trunk/reactos/dll/win32/syssetup/wizard.c Modified: trunk/reactos/dll/win32/syssetup/wizard.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/wizard.…
============================================================================== --- trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/wizard.c [iso-8859-1] Fri Apr 15 20:42:07 2011 @@ -564,6 +564,25 @@ return TRUE; } +/* lpBuffer will be filled with a 15-char string (plus the null terminator) */ +static void +GenerateComputerName(LPWSTR lpBuffer) +{ + static const WCHAR Chars[] = L"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + static const unsigned cChars = sizeof(Chars) / sizeof(WCHAR) - 1; + unsigned i; + + wcscpy(lpBuffer, L"REACTOS-"); + + srand(GetTickCount()); + + /* fill in 7 characters */ + for (i = 8; i < 15; i++) + lpBuffer[i] = Chars[rand() % cChars]; + + lpBuffer[15] = UNICODE_NULL; /* NULL-terminate */ +} + static INT_PTR CALLBACK ComputerPageDlgProc(HWND hwndDlg, UINT uMsg, @@ -576,7 +595,6 @@ PWCHAR Password; WCHAR Title[64]; WCHAR EmptyComputerName[256], NotMatchPassword[256], WrongPassword[256]; - DWORD Length; LPNMHDR lpnm; if (0 == LoadStringW(hDllInstance, IDS_REACTOS_SETUP, Title, sizeof(Title) / sizeof(Title[0]))) @@ -588,9 +606,8 @@ { case WM_INITDIALOG: { - /* Retrieve current computer name */ - Length = MAX_COMPUTERNAME_LENGTH + 1; - GetComputerNameW(ComputerName, &Length); + /* Generate a new pseudo-random computer name */ + GenerateComputerName(ComputerName); /* Display current computer name */ SetDlgItemTextW(hwndDlg, IDC_COMPUTERNAME, ComputerName);
13 years, 8 months
1
0
0
0
[tkreuzer] 51357: [WIN32K] Implement gdi pool. An allocator for user mode gdi object attributes. The old method allocated a 4k page for every object, wasting 4k physical memory and 64k address spac...
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Fri Apr 15 20:14:44 2011 New Revision: 51357 URL:
http://svn.reactos.org/svn/reactos?rev=51357&view=rev
Log: [WIN32K] Implement gdi pool. An allocator for user mode gdi object attributes. The old method allocated a 4k page for every object, wasting 4k physical memory and 64k address space (allcoation granularity) The new allocator creates a per process pool for each object attribute type. Allocations are done from "sections" that start with 1 page and grow dynamically up to 64k, if neccessary a new section is allocated. This will use about 1/10 of memory for dc attributes and 1/512 for brush attributes. Also allocation is way faster. Caching object attributes is not neccessary anymore. Added: trunk/reactos/subsystems/win32/win32k/objects/gdipool.c (with props) Added: trunk/reactos/subsystems/win32/win32k/objects/gdipool.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdipool.c (added) +++ trunk/reactos/subsystems/win32/win32k/objects/gdipool.c [iso-8859-1] Fri Apr 15 20:14:44 2011 @@ -1,0 +1,336 @@ +/* + * PROJECT: ReactOS win32 kernel mode subsystem + * LICENSE: GPL - See COPYING in the top level directory + * FILE: subsystems/win32/win32k/objects/gdiobj.c + * PURPOSE: Static size allocator for user mode object attributes + * PROGRAMMERS: Timo Kreuzer + */ + +/* INCLUDES ******************************************************************/ + +#include <win32k.h> +#define NDEBUG +#include <debug.h> + +typedef struct _GDI_POOL_SECTION +{ + LIST_ENTRY leInUseLink; + LIST_ENTRY leReadyLink; + + PVOID pvBaseAddress; + + ULONG ulCommitBitmap; + ULONG cAllocCount; + + RTL_BITMAP bitmap; + ULONG aulBits[1]; +} GDI_POOL_SECTION, *PGDI_POOL_SECTION; + +typedef struct _GDI_POOL +{ + ULONG ulTag; + ULONG cjAllocSize; + ULONG cjSectionSize; // 32 * cjAllocSize, rounded up to pages + ULONG cSlotsPerSection; + ULONG cEmptySections; + EX_PUSH_LOCK pushlock; // for pool growth + + LIST_ENTRY leInUseList; + LIST_ENTRY leEmptyList; + LIST_ENTRY leReadyList; +} GDI_POOL; + +#define GDI_POOL_ALLOCATION_GRANULARITY 64 * 1024 + +static +PGDI_POOL_SECTION +GdiPoolAllocateSection(PGDI_POOL pPool) +{ + PGDI_POOL_SECTION pSection; + PVOID pvBaseAddress; + SIZE_T cjSize; + NTSTATUS status; + + /* Allocate a section object */ + cjSize = sizeof(GDI_POOL_SECTION) + pPool->cSlotsPerSection / sizeof(ULONG); + pSection = EngAllocMem(0, cjSize, pPool->ulTag); + if (!pSection) + { + return NULL; + } + + /* Reserve user mode memory */ + cjSize = GDI_POOL_ALLOCATION_GRANULARITY; + pvBaseAddress = NULL; + status = ZwAllocateVirtualMemory(NtCurrentProcess(), + &pvBaseAddress, + 0, + &cjSize, + MEM_RESERVE, + PAGE_READWRITE); + if (!NT_SUCCESS(status)) + { + EngFreeMem(pSection); + return NULL; + } + + /* Initialize the section */ + pSection->pvBaseAddress = pvBaseAddress; + pSection->ulCommitBitmap = 0; + pSection->cAllocCount = 0; + RtlInitializeBitMap(&pSection->bitmap, + pSection->aulBits, + pPool->cSlotsPerSection); + RtlClearAllBits(&pSection->bitmap); + + /* Return the section */ + return pSection; +} + +static +VOID +GdiPoolDeleteSection(PGDI_POOL pPool, PGDI_POOL_SECTION pSection) +{ + NTSTATUS status; + SIZE_T cjSize = 0; + + /* Should not have any allocations */ + ASSERT(pSection->cAllocCount == 0); + + /* Release the virtual memory */ + status = ZwFreeVirtualMemory(NtCurrentProcess(), + &pSection->pvBaseAddress, + &cjSize, + MEM_RELEASE); + ASSERT(NT_SUCCESS(status)); + + /* Free the section object */ + EngFreeMem(pSection); +} + +PVOID +NTAPI +GdiPoolAllocate( + PGDI_POOL pPool) +{ + PGDI_POOL_SECTION pSection; + ULONG ulIndex, cjOffset, ulPageBit; + PLIST_ENTRY ple; + PVOID pvAlloc, pvBaseAddress; + SIZE_T cjSize; + NTSTATUS status; + + /* Disable APCs and acquire the pool lock */ + KeEnterCriticalRegion(); + ExAcquirePushLockExclusive(&pPool->pushlock); + + /* Check if we have a ready section */ + if (!IsListEmpty(&pPool->leReadyList)) + { + /* Get a free section */ + ple = pPool->leReadyList.Flink; + pSection = CONTAINING_RECORD(ple, GDI_POOL_SECTION, leReadyLink); + ASSERT(pSection->cAllocCount < pPool->cSlotsPerSection); + } + else + { + /* No, check if we have something on the empty list */ + if (!IsListEmpty(&pPool->leEmptyList)) + { + /* Yes, remove it from the empty list */ + ple = RemoveHeadList(&pPool->leEmptyList); + pSection = CONTAINING_RECORD(ple, GDI_POOL_SECTION, leInUseLink); + } + else + { + /* No, allocate a new section */ + pSection = GdiPoolAllocateSection(pPool); + if (!pSection) + { + DPRINT1("Couldn't allocate a section\n"); + pvAlloc = NULL; + goto done; + } + + /* Insert it into the ready list */ + InsertHeadList(&pPool->leReadyList, &pSection->leReadyLink); + } + + /* Insert it into the in-use list */ + InsertHeadList(&pPool->leInUseList, &pSection->leInUseLink); + } + + /* Find and set a single bit */ + ulIndex = RtlFindClearBitsAndSet(&pSection->bitmap, 1, 0); + ASSERT(ulIndex != MAXULONG); + + /* Calculate the allocation address */ + cjOffset = ulIndex * pPool->cjAllocSize; + pvAlloc = (PVOID)((ULONG_PTR)pSection->pvBaseAddress + cjOffset); + + /* Check if memory is comitted */ + ulPageBit = 1 << (cjOffset / PAGE_SIZE); + ulPageBit |= 1 << ((cjOffset + pPool->cjAllocSize - 1) / PAGE_SIZE); + if ((pSection->ulCommitBitmap & ulPageBit) != ulPageBit) + { + /* Commit the pages */ + pvBaseAddress = PAGE_ALIGN(pvAlloc); + cjSize = ADDRESS_AND_SIZE_TO_SPAN_PAGES(pvAlloc, pPool->cjAllocSize) * PAGE_SIZE; + status = ZwAllocateVirtualMemory(NtCurrentProcess(), + &pvBaseAddress, + 0, + &cjSize, + MEM_COMMIT, + PAGE_READWRITE); + + pSection->ulCommitBitmap |= ulPageBit; + } + + /* Increase alloc count and check if section is now busy */ + pSection->cAllocCount++; + if (pSection->cAllocCount == pPool->cSlotsPerSection) + { + /* Remove the section from the ready list */ + RemoveEntryList(&pSection->leReadyLink); + } + +done: + /* Release the pool lock and enable APCs */ + ExReleasePushLockExclusive(&pPool->pushlock); + KeLeaveCriticalRegion(); +DPRINT1("GdiPoolallocate: %p\n", pvAlloc); + + return pvAlloc; +} + + +VOID +NTAPI +GdiPoolFree( + PGDI_POOL pPool, + PVOID pvAlloc) +{ + PLIST_ENTRY ple; + PGDI_POOL_SECTION pSection; + ULONG_PTR cjOffset; + ULONG ulIndex; +DPRINT1("GdiPoolFree: %p\n", pvAlloc); + + /* Disable APCs and acquire the pool lock */ + KeEnterCriticalRegion(); + ExAcquirePushLockExclusive(&pPool->pushlock); + + /* Loop all used sections */ + for (ple = pPool->leInUseList.Flink; + ple != &pPool->leInUseList; + ple = ple->Flink) + { + /* Get the pointer to the section */ + pSection = CONTAINING_RECORD(ple, GDI_POOL_SECTION, leInUseLink); + + /* Calculate offset */ + cjOffset = (ULONG_PTR)pvAlloc - (ULONG_PTR)pSection->pvBaseAddress; + + /* Check if the allocation is from this section */ + if (cjOffset < pPool->cjSectionSize) + { + /* Calculate the index of the allocation */ + ulIndex = cjOffset / pPool->cjAllocSize; + + /* Mark it as free */ + ASSERT(RtlTestBit(&pSection->bitmap, ulIndex) == TRUE); + RtlClearBit(&pSection->bitmap, ulIndex); + + /* Decrease allocation count */ + pSection->cAllocCount--; + + /* Check if the section got valid now */ + if (pSection->cAllocCount == pPool->cSlotsPerSection - 1) + { + /* Insert it into the ready list */ + InsertTailList(&pPool->leReadyList, &pSection->leReadyLink); + } + /* Check if it got empty now */ + else if (pSection->cAllocCount == 0) + { + /* Remove the section from the lists */ + RemoveEntryList(&pSection->leInUseLink); + RemoveEntryList(&pSection->leReadyLink); + + if (pPool->cEmptySections > 1) + { + /* Delete the section */ + GdiPoolDeleteSection(pPool, pSection); + } + else + { + /* Insert it into the empty list */ + InsertHeadList(&pPool->leEmptyList, &pSection->leInUseLink); + pPool->cEmptySections++; + } + } + + goto done; + } + } + + ASSERT(FALSE); + // KeBugCheck() + +done: + /* Release the pool lock and enable APCs */ + ExReleasePushLockExclusive(&pPool->pushlock); + KeLeaveCriticalRegion(); +} + +PGDI_POOL +NTAPI +GdiPoolCreate( + ULONG cjAllocSize, + ULONG ulTag) +{ + PGDI_POOL pPool; + + /* Allocate a pool object */ + pPool = EngAllocMem(0, sizeof(GDI_POOL), 'lopG'); + if (!pPool) return NULL; + + /* Initialize the object */ + ExInitializePushLock(&pPool->pushlock); + InitializeListHead(&pPool->leInUseList); + InitializeListHead(&pPool->leReadyList); + InitializeListHead(&pPool->leEmptyList); + pPool->cEmptySections = 0; + pPool->cjAllocSize = cjAllocSize; + pPool->ulTag = ulTag; + pPool->cjSectionSize = GDI_POOL_ALLOCATION_GRANULARITY; + pPool->cSlotsPerSection = pPool->cjSectionSize / cjAllocSize; + + return pPool; +} + +VOID +NTAPI +GdiPoolDestroy(PGDI_POOL pPool) +{ + PGDI_POOL_SECTION pSection; + PLIST_ENTRY ple; + + /* Loop all empty sections, removing them */ + while ((ple = RemoveHeadList(&pPool->leEmptyList))) + { + /* Delete the section */ + pSection = CONTAINING_RECORD(ple, GDI_POOL_SECTION, leInUseLink); + GdiPoolDeleteSection(pPool, pSection); + } + + /* Loop all ready sections, removing them */ + while ((ple = RemoveHeadList(&pPool->leInUseList))) + { + /* Delete the section */ + pSection = CONTAINING_RECORD(ple, GDI_POOL_SECTION, leInUseLink); + GdiPoolDeleteSection(pPool, pSection); + } + + EngFreeMem(pPool); +} Propchange: trunk/reactos/subsystems/win32/win32k/objects/gdipool.c ------------------------------------------------------------------------------ svn:eol-style = native
13 years, 8 months
1
0
0
0
[rharabien] 51356: [WIN32K] * Revert part of 37148. One FontGDI is used for fonts with different sizes. Do not cache font metrics then and instead calculate them every time when needed. It fixes sp...
by rharabien@svn.reactos.org
Author: rharabien Date: Fri Apr 15 20:03:44 2011 New Revision: 51356 URL:
http://svn.reactos.org/svn/reactos?rev=51356&view=rev
Log: [WIN32K] * Revert part of 37148. One FontGDI is used for fonts with different sizes. Do not cache font metrics then and instead calculate them every time when needed. It fixes spacing in menus if some application uses default GUI font with size other than 11. See issue #4106 for more details. Modified: trunk/reactos/subsystems/win32/win32k/include/engobjects.h trunk/reactos/subsystems/win32/win32k/objects/freetype.c Modified: trunk/reactos/subsystems/win32/win32k/include/engobjects.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/engobjects.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/engobjects.h [iso-8859-1] Fri Apr 15 20:03:44 2011 @@ -88,9 +88,6 @@ ULONG Dummy; } FLOATGDI; - -#define FDM_TYPE_TEXT_METRIC 0x80000000 - typedef struct _FONTGDI { FONTOBJ FontObj; ULONG iUnique; @@ -99,13 +96,11 @@ DHPDEV dhpdev; FT_Face face; }; - FLONG flRealizedType; LONG lMaxNegA; LONG lMaxNegC; LONG lMinWidthD; - TEXTMETRICW TextMetric; LPWSTR Filename; BYTE Underline; BYTE StrikeOut; Modified: trunk/reactos/subsystems/win32/win32k/objects/freetype.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/freetype.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/freetype.c [iso-8859-1] Fri Apr 15 20:03:44 2011 @@ -302,9 +302,6 @@ PSECTION_OBJECT SectionObject; ULONG ViewSize = 0; LARGE_INTEGER SectionSize; -#if 0 // Wine code - FT_Fixed XScale, YScale; -#endif UNICODE_STRING FontRegPath = RTL_CONSTANT_STRING(L"\\REGISTRY\\Machine\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Fonts"); /* Open the font file */ @@ -395,22 +392,6 @@ RtlCopyMemory(FontGDI->Filename, FileName->Buffer, FileName->Length); FontGDI->Filename[FileName->Length / sizeof(WCHAR)] = L'\0'; FontGDI->face = Face; - - /* FIXME: Complete text metrics */ -#if 0 /* This (Wine) code doesn't seem to work correctly for us */ - XScale = Face->size->metrics.x_scale; - YScale = Face->size->metrics.y_scale; - FontGDI->TextMetric.tmAscent = (FT_MulFix(Face->ascender, YScale) + 32) >> 6; - FontGDI->TextMetric.tmDescent = (FT_MulFix(Face->descender, YScale) + 32) >> 6; - FontGDI->TextMetric.tmHeight = (FT_MulFix(Face->ascender, YScale) - - FT_MulFix(Face->descender, YScale)) >> 6; -#else - FontGDI->TextMetric.tmAscent = (Face->size->metrics.ascender + 32) >> 6; /* units above baseline */ - FontGDI->TextMetric.tmDescent = (32 - Face->size->metrics.descender) >> 6; /* units below baseline */ - FontGDI->TextMetric.tmHeight = (Face->size->metrics.ascender - Face->size->metrics.descender) >> 6; -#endif - - DPRINT("Font loaded: %s (%s)\n", Face->family_name, Face->style_name); DPRINT("Num glyphs: %u\n", Face->num_glyphs); @@ -856,14 +837,7 @@ Otm->otmSize = Needed; -// FillTM(&Otm->otmTextMetrics, FontGDI, pOS2, pHori, !Error ? &Win : 0); - if (!(FontGDI->flRealizedType & FDM_TYPE_TEXT_METRIC)) - { - FillTM(&FontGDI->TextMetric, FontGDI, pOS2, pHori, !Error ? &Win : 0); - FontGDI->flRealizedType |= FDM_TYPE_TEXT_METRIC; - } - - RtlCopyMemory(&Otm->otmTextMetrics, &FontGDI->TextMetric, sizeof(TEXTMETRICW)); + FillTM(&Otm->otmTextMetrics, FontGDI, pOS2, pHori, !Error ? &Win : 0); Otm->otmFiller = 0; RtlCopyMemory(&Otm->otmPanoseNumber, pOS2->panose, PANOSE_COUNT); @@ -882,8 +856,8 @@ Otm->otmrcFontBox.right = (FT_MulFix(FontGDI->face->bbox.xMax, XScale) + 32) >> 6; Otm->otmrcFontBox.top = (FT_MulFix(FontGDI->face->bbox.yMax, YScale) + 32) >> 6; Otm->otmrcFontBox.bottom = (FT_MulFix(FontGDI->face->bbox.yMin, YScale) + 32) >> 6; - Otm->otmMacAscent = FontGDI->TextMetric.tmAscent; - Otm->otmMacDescent = -FontGDI->TextMetric.tmDescent; + Otm->otmMacAscent = Otm->otmTextMetrics.tmAscent; + Otm->otmMacDescent = -Otm->otmTextMetrics.tmDescent; Otm->otmMacLineGap = Otm->otmLineGap; Otm->otmusMinimumPPEM = 0; /* TT Header */ Otm->otmptSubscriptSize.x = (FT_MulFix(pOS2->ySubscriptXSize, XScale) + 32) >> 6; @@ -2512,13 +2486,8 @@ if (NT_SUCCESS(Status)) { - if (!(FontGDI->flRealizedType & FDM_TYPE_TEXT_METRIC)) - { - FillTM(&FontGDI->TextMetric, FontGDI, pOS2, pHori, !Error ? &Win : 0); - FontGDI->flRealizedType |= FDM_TYPE_TEXT_METRIC; - } - - RtlCopyMemory(&ptmwi->TextMetric, &FontGDI->TextMetric, sizeof(TEXTMETRICW)); + FillTM(&ptmwi->TextMetric, FontGDI, pOS2, pHori, !Error ? &Win : 0); + /* FIXME: Fill Diff member */ RtlZeroMemory(&ptmwi->Diff, sizeof(ptmwi->Diff)); } @@ -2814,7 +2783,6 @@ TextObj->Font->iUniq = 1; // Now it can be cached. IntFontType(FontGdi); FontGdi->flType = TextObj->Font->flFontType; - FontGdi->flRealizedType = 0; FontGdi->Underline = TextObj->logfont.elfEnumLogfontEx.elfLogFont.lfUnderline ? 0xff : 0; FontGdi->StrikeOut = TextObj->logfont.elfEnumLogfontEx.elfLogFont.lfStrikeOut ? 0xff : 0; TextObj->fl |= TEXTOBJECT_INIT;
13 years, 8 months
1
0
0
0
[janderwald] 51355: [USBEHCI_NEW] - Create Interface IDispatchIrp which is used to handle ioctl requests - Partly implement IHubController interface
by janderwald@svn.reactos.org
Author: janderwald Date: Fri Apr 15 17:57:24 2011 New Revision: 51355 URL:
http://svn.reactos.org/svn/reactos?rev=51355&view=rev
Log: [USBEHCI_NEW] - Create Interface IDispatchIrp which is used to handle ioctl requests - Partly implement IHubController interface Added: branches/usb-bringup/drivers/usb/usbehci_new/hub_controller.cpp (with props) Modified: branches/usb-bringup/drivers/usb/usbehci_new/CMakeLists.txt branches/usb-bringup/drivers/usb/usbehci_new/hcd_controller.cpp branches/usb-bringup/drivers/usb/usbehci_new/interfaces.h branches/usb-bringup/drivers/usb/usbehci_new/usbehci.cpp branches/usb-bringup/drivers/usb/usbehci_new/usbehci.h Modified: branches/usb-bringup/drivers/usb/usbehci_new/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/CMakeLists.txt [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/CMakeLists.txt [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -10,6 +10,7 @@ hardware.cpp misc.cpp purecall.cpp + hub_controller.cpp usbehci.rc) target_link_libraries(usbehci Modified: branches/usb-bringup/drivers/usb/usbehci_new/hcd_controller.cpp URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/hcd_controller.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/hcd_controller.cpp [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -11,7 +11,8 @@ #define INITGUID #include "usbehci.h" -class CHCDController : public IHCDController +class CHCDController : public IHCDController, + public IDispatchIrp { public: STDMETHODIMP QueryInterface( REFIID InterfaceId, PVOID* Interface); @@ -33,8 +34,10 @@ return m_Ref; } - // interface functions + // IHCDController interface functions NTSTATUS Initialize(IN PROOTHDCCONTROLLER RootHCDController, IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject); + + // IDispatchIrp interface functions NTSTATUS HandlePnp(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); NTSTATUS HandlePower(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); NTSTATUS HandleDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); @@ -42,8 +45,7 @@ // local functions NTSTATUS CreateFDO(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT * OutDeviceObject); NTSTATUS CreatePDO(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT * OutDeviceObject); - NTSTATUS HandleQueryInterface(PIO_STACK_LOCATION IoStack); - NTSTATUS SetDeviceInterface(BOOLEAN bEnable); + NTSTATUS SetSymbolicLink(BOOLEAN Enable); // constructor / destructor CHCDController(IUnknown *OuterUnknown){} @@ -57,10 +59,7 @@ PDEVICE_OBJECT m_FunctionalDeviceObject; PDEVICE_OBJECT m_NextDeviceObject; PUSBHARDWAREDEVICE m_Hardware; - PDEVICE_OBJECT m_BusPDO; - UNICODE_STRING m_HubDeviceInterfaceString; - BOOLEAN m_InterfaceEnabled; - ULONG m_PDODeviceNumber; + PHUBCONTROLLER m_HubController; ULONG m_FDODeviceNumber; }; @@ -73,15 +72,6 @@ IN REFIID refiid, OUT PVOID* Output) { - UNICODE_STRING GuidString; - - if (IsEqualGUIDAligned(refiid, IID_IUnknown)) - { - *Output = PVOID(PUNKNOWN(this)); - PUNKNOWN(*Output)->AddRef(); - return STATUS_SUCCESS; - } - return STATUS_UNSUCCESSFUL; } @@ -187,7 +177,7 @@ // DeviceExtension->IsFDO = TRUE; DeviceExtension->IsHub = FALSE; - DeviceExtension->HcdController = PHCDCONTROLLER(this); + DeviceExtension->Dispatcher = PDISPATCHIRP(this); // // device is initialized @@ -345,12 +335,7 @@ PCM_RESOURCE_LIST RawResourceList; PCM_RESOURCE_LIST TranslatedResourceList; PDEVICE_RELATIONS DeviceRelations; - PDEVICE_CAPABILITIES DeviceCapabilities; - LPGUID Guid; NTSTATUS Status; - ULONG Index; - - DPRINT("HandlePnp\n"); // // get device extension @@ -358,6 +343,11 @@ DeviceExtension = (PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension; // + // sanity check + // + PC_ASSERT(DeviceExtension->IsFDO); + + // // get current stack location // IoStack = IoGetCurrentIrpStackLocation(Irp); @@ -366,90 +356,67 @@ { case IRP_MN_START_DEVICE: { - DPRINT1("IRP_MN_START FDO: %lu\n", DeviceExtension->IsFDO); - - if (DeviceExtension->IsFDO) - { - // - // first start lower device object - // - Status = SyncForwardIrp(m_NextDeviceObject, Irp); - - if (NT_SUCCESS(Status)) + DPRINT1("CHCDController::HandlePnp IRP_MN_START FDO\n"); + + // + // first start lower device object + // + Status = SyncForwardIrp(m_NextDeviceObject, Irp); + + if (NT_SUCCESS(Status)) + { + // + // operation succeeded, lets start the device + // + RawResourceList = IoStack->Parameters.StartDevice.AllocatedResources; + TranslatedResourceList = IoStack->Parameters.StartDevice.AllocatedResourcesTranslated; + + if (m_Hardware) { // - // operation succeeded, lets start the device - // - RawResourceList = IoStack->Parameters.StartDevice.AllocatedResources; - TranslatedResourceList = IoStack->Parameters.StartDevice.AllocatedResourcesTranslated; - - if (m_Hardware) - { - // - // start the hardware - // - Status = m_Hardware->PnpStart(RawResourceList, TranslatedResourceList); - } + // start the hardware + // + Status = m_Hardware->PnpStart(RawResourceList, TranslatedResourceList); } // - // HACK / FIXME: Windows XP SP3 fails to enumerate the PDO correctly, which - // causes the PDO device never to startup. - // - Status = SetDeviceInterface(TRUE); - } - else - { - // - // start the PDO device - // - ASSERT(0); - - // - //FIXME create the parent root hub device - // - - // - // register device interface - // - Status = SetDeviceInterface(TRUE); - } - - DPRINT1("IRP_MN_START FDO: %lu Status %x\n", DeviceExtension->IsFDO, Status); - + // enable symbolic link + // + Status = SetSymbolicLink(TRUE); + } + + DPRINT1("CHCDController::HandlePnp IRP_MN_START FDO: Status %x\n", Status); break; } case IRP_MN_QUERY_DEVICE_RELATIONS: { - DPRINT1("IRP_MN_QUERY_DEVICE_RELATIONS Type %lx FDO: \n", IoStack->Parameters.QueryDeviceRelations.Type, DeviceExtension->IsFDO); - - if (m_BusPDO == NULL) - { - // - // create bus PDO - // - Status = CreatePDO(m_DriverObject, &m_BusPDO); - + DPRINT1("CHCDController::HandlePnp IRP_MN_QUERY_DEVICE_RELATIONS Type %lx\n", IoStack->Parameters.QueryDeviceRelations.Type); + + if (m_HubController == NULL) + { + // + // create hub controller + // + Status = CreateHubController(&m_HubController); if (!NT_SUCCESS(Status)) { // - // failed to create bus device object + // failed to create hub controller // break; } // - // initialize extension - // - DeviceExtension = (PCOMMON_DEVICE_EXTENSION)m_BusPDO->DeviceExtension; - DeviceExtension->IsFDO = FALSE; - DeviceExtension->IsHub = FALSE; - DeviceExtension->HcdController = (this); - - // - // clear init flag - // - m_BusPDO->Flags &= ~DO_DEVICE_INITIALIZING; + // initialize hub controller + // + Status = m_HubController->Initialize(m_DriverObject, PHCDCONTROLLER(this), m_Hardware, TRUE, 0 /* FIXME*/); + if (!NT_SUCCESS(Status)) + { + // + // failed to initialize hub controller + // + break; + } } if (IoStack->Parameters.QueryDeviceRelations.Type == BusRelations) @@ -472,9 +439,14 @@ // init device relations // DeviceRelations->Count = 1; - DeviceRelations->Objects [0] = m_BusPDO; - - ObReferenceObject(m_BusPDO); + Status = m_HubController->GetHubControllerDeviceObject(&DeviceRelations->Objects [0]); + + // + // sanity check + // + PC_ASSERT(Status == STATUS_SUCCESS); + + ObReferenceObject(DeviceRelations->Objects [0]); // // store result @@ -482,12 +454,19 @@ Irp->IoStatus.Information = (ULONG_PTR)DeviceRelations; Status = STATUS_SUCCESS; } + else + { + // + // not supported + // + PC_ASSERT(0); + Status = STATUS_NOT_SUPPORTED; + } break; } - case IRP_MN_STOP_DEVICE: { - DPRINT1("IRP_MN_STOP_DEVICE FDO: %lu\n", DeviceExtension->IsFDO); + DPRINT1("CHCDController::HandlePnp IRP_MN_STOP_DEVICE\n"); if (m_Hardware) { @@ -513,153 +492,31 @@ } break; } - case IRP_MN_QUERY_CAPABILITIES: - { - DPRINT1("IRP_MN_QUERY_CAPABILITIES FDO: %lu\n", DeviceExtension->IsFDO); - - if (DeviceExtension->IsFDO == FALSE) - { - DeviceCapabilities = (PDEVICE_CAPABILITIES)IoStack->Parameters.DeviceCapabilities.Capabilities; - - DeviceCapabilities->LockSupported = FALSE; - DeviceCapabilities->EjectSupported = FALSE; - DeviceCapabilities->Removable = FALSE; - DeviceCapabilities->DockDevice = FALSE; - DeviceCapabilities->UniqueID = FALSE; - DeviceCapabilities->SilentInstall = FALSE; - DeviceCapabilities->RawDeviceOK = FALSE; - DeviceCapabilities->SurpriseRemovalOK = FALSE; - DeviceCapabilities->Address = 0; - DeviceCapabilities->UINumber = 0; - DeviceCapabilities->DeviceD2 = 1; - - /* FIXME */ - DeviceCapabilities->HardwareDisabled = FALSE; - DeviceCapabilities->NoDisplayInUI = FALSE; - DeviceCapabilities->DeviceState[0] = PowerDeviceD0; - for (Index = 0; Index < PowerSystemMaximum; Index++) - DeviceCapabilities->DeviceState[Index] = PowerDeviceD3; - DeviceCapabilities->DeviceWake = PowerDeviceUnspecified; - DeviceCapabilities->D1Latency = 0; - DeviceCapabilities->D2Latency = 0; - DeviceCapabilities->D3Latency = 0; - - Status = STATUS_SUCCESS; - } - else - { - // - // forward irp to next device object - // - IoSkipCurrentIrpStackLocation(Irp); - return IoCallDriver(m_NextDeviceObject, Irp); - } - - break; - } - case IRP_MN_QUERY_INTERFACE: - { - DPRINT1("IRP_MN_QUERY_INTERFACE FDO %u\n", DeviceExtension->IsFDO); - // - // check if the device is FDO - // - if (DeviceExtension->IsFDO) - { - // - // just pass the irp to next device object - // - IoSkipCurrentIrpStackLocation(Irp); - return IoCallDriver(m_NextDeviceObject, Irp); - } - - // - // handle device interface requests - // - Status = HandleQueryInterface(IoStack); - break; - } - case IRP_MN_QUERY_BUS_INFORMATION: - { - DPRINT1("IRP_MN_QUERY_BUS_INFORMATION FDO %lx\n", DeviceExtension->IsFDO); - - if (DeviceExtension->IsFDO == FALSE) - { - // - // allocate buffer for bus guid - // - Guid = (LPGUID)ExAllocatePool(PagedPool, sizeof(GUID)); - if (Guid) - { - // - // copy BUS guid - // - RtlMoveMemory(Guid, &GUID_BUS_TYPE_USB, sizeof(GUID)); - Status = STATUS_SUCCESS; - Irp->IoStatus.Information = (ULONG_PTR)Guid; - } - } - break; - } case IRP_MN_REMOVE_DEVICE: { - DPRINT1("IRP_MN_REMOVE_DEVICE FDO: %lu\n", DeviceExtension->IsFDO); - - if (DeviceExtension->IsFDO == FALSE) - { - // - // deactivate device interface for BUS PDO - // - SetDeviceInterface(FALSE); - - // - // complete the request first - // - Irp->IoStatus.Status = STATUS_SUCCESS; - IoCompleteRequest(Irp, IO_NO_INCREMENT); - - // - // now delete device - // - IoDeleteDevice(m_BusPDO); - - // - // nullify pointer - // - m_BusPDO = 0; - return STATUS_SUCCESS; - } - else - { - // - // detach device from device stack - // - IoDetachDevice(m_NextDeviceObject); - - // - // delete device - // - IoDeleteDevice(m_FunctionalDeviceObject); - } + DPRINT1("CHCDController::HandlePnp IRP_MN_REMOVE_DEVICE FDO\n"); + + // + // detach device from device stack + // + IoDetachDevice(m_NextDeviceObject); + + // + // delete device + // + IoDeleteDevice(m_FunctionalDeviceObject); Status = STATUS_SUCCESS; break; } default: { - if (DeviceExtension->IsFDO) - { - DPRINT1("HandlePnp> FDO Dispatch to lower device object %lu\n", IoStack->MinorFunction); - - // - // forward irp to next device object - // - IoSkipCurrentIrpStackLocation(Irp); - return IoCallDriver(m_NextDeviceObject, Irp); - } - else - { - DPRINT1("UNHANDLED PDO Request %lu\n", IoStack->MinorFunction); - } + DPRINT1("CHCDController::HandlePnp Dispatch to lower device object %lu\n", IoStack->MinorFunction); + // + // forward irp to next device object + // + IoSkipCurrentIrpStackLocation(Irp); + return IoCallDriver(m_NextDeviceObject, Irp); } } @@ -683,44 +540,6 @@ IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_NOT_IMPLEMENTED; -} - -NTSTATUS -CHCDController::HandleQueryInterface( - PIO_STACK_LOCATION IoStack) -{ - UNICODE_STRING GuidBuffer; - NTSTATUS Status; - - if (IsEqualGUIDAligned(*IoStack->Parameters.QueryInterface.InterfaceType, USB_BUS_INTERFACE_HUB_GUID)) - { - DPRINT1("HandleQueryInterface> UNIMPLEMENTED USB_BUS_INTERFACE_HUB_GUID Version %x\n", IoStack->Parameters.QueryInterface.Version); - - } - else if (IsEqualGUIDAligned(*IoStack->Parameters.QueryInterface.InterfaceType, USB_BUS_INTERFACE_USBDI_GUID)) - { - DPRINT1("HandleQueryInterface> UNIMPLEMENTED USB_BUS_INTERFACE_USBDI_GUID Version %x\n", IoStack->Parameters.QueryInterface.Version); - } - else - { - // - // convert guid to string - // - Status = RtlStringFromGUID(*IoStack->Parameters.QueryInterface.InterfaceType, &GuidBuffer); - if (NT_SUCCESS(Status)) - { - // - // print interface - // - DPRINT1("HandleQueryInterface GUID: %wZ Version %x\n", &GuidBuffer, IoStack->Parameters.QueryInterface.Version); - - // - // free guid buffer - // - RtlFreeUnicodeString(&GuidBuffer); - } - } - return STATUS_NOT_SUPPORTED; } NTSTATUS @@ -796,7 +615,7 @@ } NTSTATUS -CHCDController::SetDeviceInterface( +CHCDController::SetSymbolicLink( BOOLEAN Enable) { NTSTATUS Status; @@ -807,27 +626,9 @@ if (Enable) { // - // register device interface - // - Status = IoRegisterDeviceInterface(m_PhysicalDeviceObject, &GUID_DEVINTERFACE_USB_HUB, 0, &m_HubDeviceInterfaceString); - - if (NT_SUCCESS(Status)) - { - // - // now enable the device interface - // - Status = IoSetDeviceInterfaceState(&m_HubDeviceInterfaceString, TRUE); - - // - // enable interface - // - m_InterfaceEnabled = TRUE; - } - - // // create legacy link // - swprintf(LinkName, L"\\DosDevices\\HCD%d", m_PDODeviceNumber); + swprintf(LinkName, L"\\DosDevices\\HCD%d", m_FDODeviceNumber); swprintf(FDOName, L"\\Device\\USBFDO-%d", m_FDODeviceNumber); RtlInitUnicodeString(&Link, LinkName); RtlInitUnicodeString(&FDO, FDOName); @@ -845,101 +646,31 @@ ASSERT(0); } } - else if (m_InterfaceEnabled) - { - // - // disable device interface - // - Status = IoSetDeviceInterfaceState(&m_HubDeviceInterfaceString, FALSE); - - if (NT_SUCCESS(Status)) - { - // - // now delete interface string - // - RtlFreeUnicodeString(&m_HubDeviceInterfaceString); - } - - // - // disable interface - // - m_InterfaceEnabled = FALSE; - + else + { + // + // create legacy link + // + swprintf(LinkName, L"\\DosDevices\\HCD%d", m_FDODeviceNumber); + RtlInitUnicodeString(&Link, LinkName); + + // + // now delete the symbolic link + // + Status = IoDeleteSymbolicLink(&Link); + + if (!NT_SUCCESS(Status)) + { + // + // FIXME: handle me + // + ASSERT(0); + } } // // done // - return Status; -} - -NTSTATUS -CHCDController::CreatePDO( - PDRIVER_OBJECT DriverObject, - PDEVICE_OBJECT * OutDeviceObject) -{ - WCHAR CharDeviceName[64]; - NTSTATUS Status; - ULONG UsbDeviceNumber = 0; - UNICODE_STRING DeviceName; - - while (TRUE) - { - // - // construct device name - // - swprintf(CharDeviceName, L"\\Device\\USBPDO-%d", UsbDeviceNumber); - - // - // initialize device name - // - RtlInitUnicodeString(&DeviceName, CharDeviceName); - - // - // create device - // - Status = IoCreateDevice(DriverObject, - sizeof(COMMON_DEVICE_EXTENSION), - &DeviceName, - FILE_DEVICE_CONTROLLER, - 0, - FALSE, - OutDeviceObject); - - /* check for success */ - if (NT_SUCCESS(Status)) - break; - - // - // is there a device object with that same name - // - if ((Status == STATUS_OBJECT_NAME_EXISTS) || (Status == STATUS_OBJECT_NAME_COLLISION)) - { - // - // Try the next name - // - UsbDeviceNumber++; - continue; - } - - // - // bail out on other errors - // - if (!NT_SUCCESS(Status)) - { - DPRINT1("CreatePDO: Failed to create %wZ, Status %x\n", &DeviceName, Status); - return Status; - } - } - - // - // store PDO number - // - m_PDODeviceNumber = UsbDeviceNumber; - - DPRINT1("CreateFDO: DeviceName %wZ\n", &DeviceName); - - /* done */ return Status; } Added: branches/usb-bringup/drivers/usb/usbehci_new/hub_controller.cpp URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/hub_controller.cpp (added) +++ branches/usb-bringup/drivers/usb/usbehci_new/hub_controller.cpp [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -1,0 +1,522 @@ +/* + * PROJECT: ReactOS Universal Serial Bus Bulk Enhanced Host Controller Interface + * LICENSE: GPL - See COPYING in the top level directory + * FILE: drivers/usb/usbehci/hub_controller.cpp + * PURPOSE: USB EHCI device driver. + * PROGRAMMERS: + * Michael Martin (michael.martin(a)reactos.org) + * Johannes Anderwald (johannes.anderwald(a)reactos.org) + */ + +#define INITGUID +#include "usbehci.h" + +class CHubController : public IHubController, + public IDispatchIrp +{ +public: + STDMETHODIMP QueryInterface( REFIID InterfaceId, PVOID* Interface); + + STDMETHODIMP_(ULONG) AddRef() + { + InterlockedIncrement(&m_Ref); + return m_Ref; + } + STDMETHODIMP_(ULONG) Release() + { + InterlockedDecrement(&m_Ref); + + if (!m_Ref) + { + delete this; + return 0; + } + return m_Ref; + } + + // IHubController interface functions + virtual NTSTATUS Initialize(IN PDRIVER_OBJECT DriverObject, IN PHCDCONTROLLER Controller, IN PUSBHARDWAREDEVICE Device, IN BOOLEAN IsRootHubDevice, IN ULONG DeviceAddress); + + // IDispatchIrp interface functions + virtual NTSTATUS HandlePnp(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); + virtual NTSTATUS HandlePower(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); + virtual NTSTATUS HandleDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN OUT PIRP Irp); + + // local functions + NTSTATUS HandleQueryInterface(PIO_STACK_LOCATION IoStack); + NTSTATUS SetDeviceInterface(BOOLEAN bEnable); + NTSTATUS CreatePDO(PDRIVER_OBJECT DriverObject, PDEVICE_OBJECT * OutDeviceObject); + NTSTATUS GetHubControllerDeviceObject(PDEVICE_OBJECT * HubDeviceObject); + + // constructor / destructor + CHubController(IUnknown *OuterUnknown){} + virtual ~CHubController(){} + +protected: + LONG m_Ref; + PHCDCONTROLLER m_Controller; + PUSBHARDWAREDEVICE m_Hardware; + BOOLEAN m_IsRootHubDevice; + ULONG m_DeviceAddress; + ULONG m_PDODeviceNumber; + BOOLEAN m_InterfaceEnabled; + UNICODE_STRING m_HubDeviceInterfaceString; + PDEVICE_OBJECT m_HubControllerDeviceObject; + PDRIVER_OBJECT m_DriverObject; +}; + +//---------------------------------------------------------------------------------------- +NTSTATUS +STDMETHODCALLTYPE +CHubController::QueryInterface( + IN REFIID refiid, + OUT PVOID* Output) +{ + return STATUS_UNSUCCESSFUL; +} +//---------------------------------------------------------------------------------------- +NTSTATUS +CHubController::Initialize( + IN PDRIVER_OBJECT DriverObject, + IN PHCDCONTROLLER Controller, + IN PUSBHARDWAREDEVICE Device, + IN BOOLEAN IsRootHubDevice, + IN ULONG DeviceAddress) +{ + NTSTATUS Status; + PCOMMON_DEVICE_EXTENSION DeviceExtension; + + DPRINT1("CHubController::Initialize\n"); + + // + // initialize members + // + m_Controller = Controller; + m_Hardware = Device; + m_IsRootHubDevice = IsRootHubDevice; + m_DeviceAddress = DeviceAddress; + m_DriverObject = DriverObject; + + // + // create PDO + // + Status = CreatePDO(m_DriverObject, &m_HubControllerDeviceObject); + if (!NT_SUCCESS(Status)) + { + // + // failed to create hub device object + // + return Status; + } + + // + // get device extension + // + DeviceExtension = (PCOMMON_DEVICE_EXTENSION)m_HubControllerDeviceObject->DeviceExtension; + + // + // initialize device extension + // + DeviceExtension->IsFDO = FALSE; + DeviceExtension->IsHub = TRUE; //FIXME + DeviceExtension->Dispatcher = PDISPATCHIRP(this); + + // + // clear init flag + // + m_HubControllerDeviceObject->Flags &= ~DO_DEVICE_INITIALIZING; + + + return STATUS_SUCCESS; +} + +//----------------------------------------------------------------------------------------- +NTSTATUS +CHubController::GetHubControllerDeviceObject(PDEVICE_OBJECT * HubDeviceObject) +{ + // + // store controller object + // + *HubDeviceObject = m_HubControllerDeviceObject; + + return STATUS_SUCCESS; +} +//----------------------------------------------------------------------------------------- +NTSTATUS +CHubController::HandlePnp( + IN PDEVICE_OBJECT DeviceObject, + IN OUT PIRP Irp) +{ + PIO_STACK_LOCATION IoStack; + PCOMMON_DEVICE_EXTENSION DeviceExtension; + PDEVICE_CAPABILITIES DeviceCapabilities; + LPGUID Guid; + NTSTATUS Status; + ULONG Index; + + // + // get device extension + // + DeviceExtension = (PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension; + + // + // sanity check + // + ASSERT(DeviceExtension->IsFDO == FALSE); + + // + // get current stack location + // + IoStack = IoGetCurrentIrpStackLocation(Irp); + + switch(IoStack->MinorFunction) + { + case IRP_MN_START_DEVICE: + { + DPRINT1("CHubController::HandlePnp IRP_MN_START_DEVICE\n"); + // + // register device interface + // + Status = SetDeviceInterface(TRUE); + break; + } + case IRP_MN_QUERY_CAPABILITIES: + { + DPRINT1("CHubController::HandlePnp IRP_MN_QUERY_CAPABILITIES\n"); + + DeviceCapabilities = (PDEVICE_CAPABILITIES)IoStack->Parameters.DeviceCapabilities.Capabilities; + + DeviceCapabilities->LockSupported = FALSE; + DeviceCapabilities->EjectSupported = FALSE; + DeviceCapabilities->Removable = FALSE; + DeviceCapabilities->DockDevice = FALSE; + DeviceCapabilities->UniqueID = FALSE; + DeviceCapabilities->SilentInstall = FALSE; + DeviceCapabilities->RawDeviceOK = FALSE; + DeviceCapabilities->SurpriseRemovalOK = FALSE; + DeviceCapabilities->Address = 0; + DeviceCapabilities->UINumber = 0; + DeviceCapabilities->DeviceD2 = 1; + + /* FIXME */ + DeviceCapabilities->HardwareDisabled = FALSE; + DeviceCapabilities->NoDisplayInUI = FALSE; + DeviceCapabilities->DeviceState[0] = PowerDeviceD0; + for (Index = 0; Index < PowerSystemMaximum; Index++) + DeviceCapabilities->DeviceState[Index] = PowerDeviceD3; + DeviceCapabilities->DeviceWake = PowerDeviceUnspecified; + DeviceCapabilities->D1Latency = 0; + DeviceCapabilities->D2Latency = 0; + DeviceCapabilities->D3Latency = 0; + + Status = STATUS_SUCCESS; + break; + } + case IRP_MN_QUERY_INTERFACE: + { + DPRINT1("CHubController::HandlePnp IRP_MN_QUERY_INTERFACE\n"); + + // + // handle device interface requests + // + Status = HandleQueryInterface(IoStack); + break; + } + case IRP_MN_REMOVE_DEVICE: + { + DPRINT1("CHubController::HandlePnp IRP_MN_REMOVE_DEVICE\n"); + + // + // deactivate device interface for BUS PDO + // + SetDeviceInterface(FALSE); + + // + // complete the request first + // + Irp->IoStatus.Status = STATUS_SUCCESS; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + // + // now delete device + // + IoDeleteDevice(m_HubControllerDeviceObject); + + // + // nullify pointer + // + m_HubControllerDeviceObject = 0; + return STATUS_SUCCESS; + } + case IRP_MN_QUERY_BUS_INFORMATION: + { + DPRINT1("CHubController::HandlePnp IRP_MN_QUERY_BUS_INFORMATION\n"); + + // + // allocate buffer for bus guid + // + Guid = (LPGUID)ExAllocatePool(PagedPool, sizeof(GUID)); + if (Guid) + { + // + // copy BUS guid + // + RtlMoveMemory(Guid, &GUID_BUS_TYPE_USB, sizeof(GUID)); + Status = STATUS_SUCCESS; + Irp->IoStatus.Information = (ULONG_PTR)Guid; + } + else + { + // + // no memory + // + Status = STATUS_INSUFFICIENT_RESOURCES; + } + break; + } + case IRP_MN_STOP_DEVICE: + { + DPRINT1("CHubController::HandlePnp IRP_MN_STOP_DEVICE\n"); + // + // stop device + // + Status = STATUS_SUCCESS; + break; + } + default: + { + DPRINT1("CHubController::HandlePnp Unhandeled %x\n", IoStack->MinorFunction); + Status = STATUS_NOT_SUPPORTED; + break; + } + } + + // + // complete request + // + Irp->IoStatus.Status = Status; + IoCompleteRequest(Irp, IO_NO_INCREMENT); + + // + // done + // + return Status; +} + +//----------------------------------------------------------------------------------------- +NTSTATUS +CHubController::HandlePower( + IN PDEVICE_OBJECT DeviceObject, + IN OUT PIRP Irp) +{ + UNIMPLEMENTED + return STATUS_NOT_IMPLEMENTED; +} + +//----------------------------------------------------------------------------------------- +NTSTATUS +CHubController::HandleDeviceControl( + IN PDEVICE_OBJECT DeviceObject, + IN OUT PIRP Irp) +{ + UNIMPLEMENTED + return STATUS_NOT_IMPLEMENTED; +} + + +NTSTATUS +CHubController::HandleQueryInterface( + PIO_STACK_LOCATION IoStack) +{ + UNICODE_STRING GuidBuffer; + NTSTATUS Status; + + if (IsEqualGUIDAligned(*IoStack->Parameters.QueryInterface.InterfaceType, USB_BUS_INTERFACE_HUB_GUID)) + { + DPRINT1("HandleQueryInterface> UNIMPLEMENTED USB_BUS_INTERFACE_HUB_GUID Version %x\n", IoStack->Parameters.QueryInterface.Version); + + } + else if (IsEqualGUIDAligned(*IoStack->Parameters.QueryInterface.InterfaceType, USB_BUS_INTERFACE_USBDI_GUID)) + { + DPRINT1("HandleQueryInterface> UNIMPLEMENTED USB_BUS_INTERFACE_USBDI_GUID Version %x\n", IoStack->Parameters.QueryInterface.Version); + } + else + { + // + // convert guid to string + // + Status = RtlStringFromGUID(*IoStack->Parameters.QueryInterface.InterfaceType, &GuidBuffer); + if (NT_SUCCESS(Status)) + { + // + // print interface + // + DPRINT1("HandleQueryInterface GUID: %wZ Version %x\n", &GuidBuffer, IoStack->Parameters.QueryInterface.Version); + + // + // free guid buffer + // + RtlFreeUnicodeString(&GuidBuffer); + } + } + return STATUS_NOT_SUPPORTED; +} + +NTSTATUS +CHubController::SetDeviceInterface( + BOOLEAN Enable) +{ + NTSTATUS Status = STATUS_SUCCESS; + + if (Enable) + { + // + // register device interface + // + Status = IoRegisterDeviceInterface(m_HubControllerDeviceObject, &GUID_DEVINTERFACE_USB_HUB, 0, &m_HubDeviceInterfaceString); + + if (NT_SUCCESS(Status)) + { + // + // now enable the device interface + // + Status = IoSetDeviceInterfaceState(&m_HubDeviceInterfaceString, TRUE); + + // + // enable interface + // + m_InterfaceEnabled = TRUE; + } + } + else if (m_InterfaceEnabled) + { + // + // disable device interface + // + Status = IoSetDeviceInterfaceState(&m_HubDeviceInterfaceString, FALSE); + + if (NT_SUCCESS(Status)) + { + // + // now delete interface string + // + RtlFreeUnicodeString(&m_HubDeviceInterfaceString); + } + + // + // disable interface + // + m_InterfaceEnabled = FALSE; + } + + // + // done + // + return Status; +} + +NTSTATUS +CHubController::CreatePDO( + PDRIVER_OBJECT DriverObject, + PDEVICE_OBJECT * OutDeviceObject) +{ + WCHAR CharDeviceName[64]; + NTSTATUS Status; + ULONG UsbDeviceNumber = 0; + UNICODE_STRING DeviceName; + + while (TRUE) + { + // + // construct device name + // + swprintf(CharDeviceName, L"\\Device\\USBPDO-%d", UsbDeviceNumber); + + // + // initialize device name + // + RtlInitUnicodeString(&DeviceName, CharDeviceName); + + // + // create device + // + Status = IoCreateDevice(DriverObject, + sizeof(COMMON_DEVICE_EXTENSION), + &DeviceName, + FILE_DEVICE_CONTROLLER, + 0, + FALSE, + OutDeviceObject); + + /* check for success */ + if (NT_SUCCESS(Status)) + break; + + // + // is there a device object with that same name + // + if ((Status == STATUS_OBJECT_NAME_EXISTS) || (Status == STATUS_OBJECT_NAME_COLLISION)) + { + // + // Try the next name + // + UsbDeviceNumber++; + continue; + } + + // + // bail out on other errors + // + if (!NT_SUCCESS(Status)) + { + DPRINT1("CreatePDO: Failed to create %wZ, Status %x\n", &DeviceName, Status); + return Status; + } + } + + // + // store PDO number + // + //m_PDODeviceNumber = UsbDeviceNumber; + + DPRINT1("CreateFDO: DeviceName %wZ\n", &DeviceName); + + /* done */ + return Status; +} + + + +NTSTATUS +CreateHubController( + PHUBCONTROLLER *OutHcdController) +{ + PHUBCONTROLLER This; + + // + // allocate controller + // + This = new(NonPagedPool, TAG_USBEHCI) CHubController(0); + if (!This) + { + // + // failed to allocate + // + return STATUS_INSUFFICIENT_RESOURCES; + } + + // + // add reference count + // + This->AddRef(); + + // + // return result + // + *OutHcdController = (PHUBCONTROLLER)This; + + // + // done + // + return STATUS_SUCCESS; +} Propchange: branches/usb-bringup/drivers/usb/usbehci_new/hub_controller.cpp ------------------------------------------------------------------------------ svn:eol-style = native Modified: branches/usb-bringup/drivers/usb/usbehci_new/interfaces.h URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/interfaces.h [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/interfaces.h [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -103,33 +103,6 @@ IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject) = 0; -//----------------------------------------------------------------------------------------- -// -// HandlePnp -// -// Description: This function handles all pnp requests - - virtual NTSTATUS HandlePnp(IN PDEVICE_OBJECT DeviceObject, - IN OUT PIRP Irp) = 0; - -//----------------------------------------------------------------------------------------- -// -// HandlePower -// -// Description: This function handles all power pnp requests -// - virtual NTSTATUS HandlePower(IN PDEVICE_OBJECT DeviceObject, - IN OUT PIRP Irp) = 0; - -//----------------------------------------------------------------------------------------- -// -// HandleDeviceControl -// -// Description: handles device io control requests - - virtual NTSTATUS HandleDeviceControl(IN PDEVICE_OBJECT DeviceObject, - IN OUT PIRP Irp) = 0; - }; typedef IHCDController *PHCDCONTROLLER; @@ -177,14 +150,6 @@ // Description: handles pnp stop request from device. It unregisteres the interrupt, releases ports and dma object. virtual NTSTATUS PnpStop(void) = 0; - -//----------------------------------------------------------------------------------------- -// -// HandlePower -// -// Description: handles power requests - - virtual NTSTATUS HandlePower(PIRP Irp) = 0; //----------------------------------------------------------------------------------------- // @@ -451,11 +416,35 @@ // // Description: Initializes the hub controller - virtual NTSTATUS Initialize(IN PHCDCONTROLLER Controller, + virtual NTSTATUS Initialize(IN PDRIVER_OBJECT DriverObject, + IN PHCDCONTROLLER Controller, IN PUSBHARDWAREDEVICE Device, IN BOOLEAN IsRootHubDevice, IN ULONG DeviceAddress) = 0; +//---------------------------------------------------------------------------------------- +// +// GetHubControllerDeviceObject +// +// Description: Returns the hub controller device object + + virtual NTSTATUS GetHubControllerDeviceObject(PDEVICE_OBJECT * HubDeviceObject) = 0; + +}; + +typedef IHubController *PHUBCONTROLLER; + +//========================================================================================= +// +// class IDispatchIrp +// +// Description: This class is used to handle irp dispatch requests +// + +DECLARE_INTERFACE_(IDispatchIrp, IUnknown) +{ + DEFINE_ABSTRACT_UNKNOWN() + //----------------------------------------------------------------------------------------- // // HandlePnp @@ -484,7 +473,6 @@ IN OUT PIRP Irp) = 0; }; -typedef IHubController *PHUBCONTROLLER; - +typedef IDispatchIrp *PDISPATCHIRP; #endif Modified: branches/usb-bringup/drivers/usb/usbehci_new/usbehci.cpp URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/usbehci.cpp [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/usbehci.cpp [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -79,12 +79,7 @@ // // sanity checks // - PC_ASSERT(DeviceExtension->HcdController); - - // - // FIXME: support bus device - // - PC_ASSERT(DeviceExtension->IsHub == FALSE); + PC_ASSERT(DeviceExtension->Dispatcher); switch(IoStack->MajorFunction) { @@ -93,7 +88,7 @@ // // dispatch pnp // - return DeviceExtension->HcdController->HandlePnp(DeviceObject, Irp); + return DeviceExtension->Dispatcher->HandlePnp(DeviceObject, Irp); } case IRP_MJ_POWER: @@ -101,7 +96,7 @@ // // dispatch pnp // - return DeviceExtension->HcdController->HandlePower(DeviceObject, Irp); + return DeviceExtension->Dispatcher->HandlePower(DeviceObject, Irp); } case IRP_MJ_SYSTEM_CONTROL: case IRP_MJ_DEVICE_CONTROL: @@ -109,7 +104,7 @@ // // dispatch pnp // - return DeviceExtension->HcdController->HandleDeviceControl(DeviceObject, Irp); + return DeviceExtension->Dispatcher->HandleDeviceControl(DeviceObject, Irp); } case IRP_MJ_CREATE: { @@ -133,7 +128,6 @@ Irp->IoStatus.Information = 0; Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); - return Status; } Modified: branches/usb-bringup/drivers/usb/usbehci_new/usbehci.h URL:
http://svn.reactos.org/svn/reactos/branches/usb-bringup/drivers/usb/usbehci…
============================================================================== --- branches/usb-bringup/drivers/usb/usbehci_new/usbehci.h [iso-8859-1] (original) +++ branches/usb-bringup/drivers/usb/usbehci_new/usbehci.h [iso-8859-1] Fri Apr 15 17:57:24 2011 @@ -25,11 +25,7 @@ { BOOLEAN IsFDO; // is device a FDO or PDO BOOLEAN IsHub; // is device a hub / child - not yet used - union - { - PHCDCONTROLLER HcdController; // hcd controller - PHUBCONTROLLER HubController; // hub controller - }; + PDISPATCHIRP Dispatcher; // dispatches the code }COMMON_DEVICE_EXTENSION, *PCOMMON_DEVICE_EXTENSION; // @@ -62,6 +58,6 @@ // // root_hub_controller.cpp // -NTSTATUS CreateRootHubController(PHUBCONTROLLER * OutHubController); +NTSTATUS CreateHubController(PHUBCONTROLLER * OutHubController); #endif
13 years, 8 months
1
0
0
0
[rharabien] 51354: [SYSSETUP] * Fix information about computer name length limit in Setup. Translators: please review
by rharabien@svn.reactos.org
Author: rharabien Date: Fri Apr 15 16:54:25 2011 New Revision: 51354 URL:
http://svn.reactos.org/svn/reactos?rev=51354&view=rev
Log: [SYSSETUP] * Fix information about computer name length limit in Setup. Translators: please review Modified: trunk/reactos/dll/win32/syssetup/lang/bg-BG.rc trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc trunk/reactos/dll/win32/syssetup/lang/de-DE.rc trunk/reactos/dll/win32/syssetup/lang/el-GR.rc trunk/reactos/dll/win32/syssetup/lang/en-US.rc trunk/reactos/dll/win32/syssetup/lang/es-ES.rc trunk/reactos/dll/win32/syssetup/lang/et-EE.rc trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc trunk/reactos/dll/win32/syssetup/lang/id-ID.rc trunk/reactos/dll/win32/syssetup/lang/it-IT.rc trunk/reactos/dll/win32/syssetup/lang/no-NO.rc trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc trunk/reactos/dll/win32/syssetup/lang/pt-BR.rc trunk/reactos/dll/win32/syssetup/lang/ro-RO.rc trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc trunk/reactos/dll/win32/syssetup/lang/sk-SK.rc trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc Modified: trunk/reactos/dll/win32/syssetup/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/bg…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/bg-BG.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -74,7 +74,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Íàïèøåòå íåíàäâèøàâàùî 63 çíàêà èìå íà êîìïþòúðà. "\ + LTEXT "Íàïèøåòå íåíàäâèøàâàùî 15 çíàêà èìå íà êîìïþòúðà. "\ "Àêî ñòå â ìðåæà, íèêîé äðóã êîìïþòúð íå òðÿáâà äà èìà ñúùîòî èìå.", IDC_STATIC, 45, 7, 250, 24 LTEXT "Èìå íà &êîìïþòúðà:", IDC_STATIC, 45, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/cs…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -59,7 +59,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Napite jméno Vaeho poèítaèe o délce 63 znakù nebo ménì. "\ + LTEXT "Napite jméno Vaeho poèítaèe o délce 15 znakù nebo ménì. "\ "Pokud je poèítaè pøipojen k síti, musí být jeho jméno unikátní.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Jméno poèítaèe:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/de…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/de-DE.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -73,7 +73,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Bitte geben sie einen Computernamen ein (maximal 63 Zeichen). "\ + LTEXT "Bitte geben sie einen Computernamen ein (maximal 15 Zeichen). "\ "Wenn Sie im Netzwerk sind, muss dieser Name einmalig sein.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Computername:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/el…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/el-GR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/el-GR.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -73,7 +73,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "ÅéóÜãåôå ôï üíïìá ôïõ õðïëïãéóôÞ óáò, ôï ïðïßï äåí ðñÝðåé íá îåðåñíÜ ôïõò 63 ÷áñáêôÞñåò. "\ + LTEXT "ÅéóÜãåôå ôï üíïìá ôïõ õðïëïãéóôÞ óáò, ôï ïðïßï äåí ðñÝðåé íá îåðåñíÜ ôïõò 15 ÷áñáêôÞñåò. "\ "¢í ï õðïëïãéóôÞò áíÞêåé óå êÜðïéï äßêôõï, ôï üíïìÜ ôïõ ðñÝðåé íá åßíáé ìïíáäéêü.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&¼íïìá õðïëïãéóôÞ:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/en…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/en-US.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -73,7 +73,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Type a name for your computer that is 63 characters or less. "\ + LTEXT "Type a name for your computer that is 15 characters or less. "\ "If you are on a network, your computer name must be unique.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Computer Name:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/es…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/es-ES.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -81,7 +81,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Escriba un nombre para su equipo que sea de 63 caracteres o menos. "\ + LTEXT "Escriba un nombre para su equipo que sea de 15 caracteres o menos. "\ "Si se encuentra conectado a una red, el nombre debe ser único.", IDC_STATIC, 54, 7, 250, 24 LTEXT "Nombre del &Equipo:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/et-EE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/et…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/et-EE.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/et-EE.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -73,7 +73,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Anna oma arvutile nimi. See ei tohi olla pikem kui 63 tähemärki. "\ + LTEXT "Anna oma arvutile nimi. See ei tohi olla pikem kui 15 tähemärki. "\ "Võrgus peab arvuti nimi olema unikaalne.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Arvuti nimi:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/fr…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -74,7 +74,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Entrez un nom pour votre ordinateur de 63 caractères ou moins. "\ + LTEXT "Entrez un nom pour votre ordinateur de 15 caractères ou moins. "\ "Si vous êtes sur un réseau, le nom saisi doit être unique.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Nom de l'ordinateur :", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/hu…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -71,7 +71,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Adj egy nevet a számítógépednek, ami nem több mint 63 betû. "\ + LTEXT "Adj egy nevet a számítógépednek, ami nem több mint 15 betû. "\ "Ha hálózaton vagy, akkor ennek a névnek egyedinek kell lennie.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Számítógép név:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/id…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/id-ID.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/id-ID.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -71,7 +71,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Type a name for your computer that is 63 characters or less. "\ + LTEXT "Type a name for your computer that is 15 characters or less. "\ "If you are on a network, your computer name must be unique.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Computer Name:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/it…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/it-IT.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -64,7 +64,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Scrivere un nome per il computer che sia lungo al massimo 63 caratteri.\n"\ + LTEXT "Scrivere un nome per il computer che sia lungo al massimo 15 caratteri.\n"\ "Se si è in rete, il nome del computer deve essere univoco.", IDC_STATIC, 54, 7, 250, 24 LTEXT "Nome del &computer:", IDC_STATIC, 29, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/no…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/no-NO.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -76,7 +76,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Skriv inn et navn for din datamaskin som er 63 karakterer eller mindre. "\ + LTEXT "Skriv inn et navn for din datamaskin som er 15 karakterer eller mindre. "\ "Hvis du er på et nettverk, så må ditt datamaskin navn være unikt.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Datamaskin navn:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/pl…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -81,7 +81,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Podaj nazwê komputera, nie d³u¿sz¹ ni¿ 63 znaki. "\ + LTEXT "Podaj nazwê komputera, nie d³u¿sz¹ ni¿ 15 znaków. "\ "Jeli chcesz pracowaæ w sieci, nazwa musi pozostaæ unikalna.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Nazwa komputera:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/pt…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/pt-BR.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/pt-BR.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -71,7 +71,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Digite um nome para o seu computador com 63 caracteres ou menos. "\ + LTEXT "Digite um nome para o seu computador com 15 caracteres ou menos. "\ "Se você está em uma rede, o nome do computador deve ser exclusivo.", IDC_STATIC, 54, 7, 250, 24 LTEXT "Nome do &Computador:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/ro…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/ro-RO.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -74,7 +74,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "ScrieÈi un nume pentru computer de maxim 63 de caractere. "\ + LTEXT "ScrieÈi un nume pentru computer de maxim 15 de caractere. "\ "DacÄ sunteÈi în reÈea, numele computerului trebuie sÄ fie unic.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Nume:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/ru…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -55,7 +55,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Ââåäèòå èìÿ âàøåãî êîìïüþòåðà (íå áîëåå 63 ñèìâîëîâ). "\ + LTEXT "Ââåäèòå èìÿ âàøåãî êîìïüþòåðà (íå áîëåå 15 ñèìâîëîâ). "\ "Åñëè âàø êîìïüþòåð ïîäêëþ÷åí ê ñåòè, òî åãî èìÿ äîëæíî áûòü óíèêàëüíî.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Èìÿ êîìïüþòåðà:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/sk…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/sk-SK.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -59,7 +59,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Napíte názov Váho poèítaèa v dåke 63 znakov alebo menej. "\ + LTEXT "Napíte názov Váho poèítaèa v dåke 15 znakov alebo menej. "\ "Ak je poèítaè pripojený k sieti, musí bý jeho názov unikátny.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&Názov poèítaèa:", IDC_STATIC, 54, 38, 75, 8 Modified: trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/uk…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc [iso-8859-1] Fri Apr 15 16:54:25 2011 @@ -62,7 +62,7 @@ FONT 8, "MS Shell Dlg" BEGIN ICON IDI_ICON1, IDC_STATIC, 21, 7, 20, 20 - LTEXT "Ââåä³òü ³ì'ÿ Âàøîãî êîìï'þòåðà äîâæèíîþ äî 63 ñèìâîë³â. "\ + LTEXT "Ââåä³òü ³ì'ÿ Âàøîãî êîìï'þòåðà äîâæèíîþ äî 15 ñèìâîë³â. "\ "ßêùî Âè ïðàöþºòå â ìåðåæ³, ³ì'ÿ Âàøîãî êîìï'þòåðà ìຠáóòè óí³êàëüíèì.", IDC_STATIC, 54, 7, 250, 24 LTEXT "&²ì'ÿ êîìï'þòåðà:", IDC_STATIC, 54, 38, 75, 8
13 years, 8 months
1
0
0
0
← Newer
1
...
13
14
15
16
17
18
19
...
30
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Results per page:
10
25
50
100
200