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
July 2019
----- 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
22 participants
146 discussions
Start a n
N
ew thread
[reactos] 01/01: [WUAUSERV] Make the wuauserv service startable and stoppable.
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8a631c8455a0edf055157…
commit 8a631c8455a0edf055157c6792f0d8c23e643397 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sat Jul 20 19:27:22 2019 +0200 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sat Jul 20 19:30:27 2019 +0200 [WUAUSERV] Make the wuauserv service startable and stoppable. --- base/services/wuauserv/CMakeLists.txt | 5 ++++- base/services/wuauserv/wuauserv.c | 11 ++++++++--- boot/bootdata/hivesft.inf | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/base/services/wuauserv/CMakeLists.txt b/base/services/wuauserv/CMakeLists.txt index 14ffee84197..7984b706184 100644 --- a/base/services/wuauserv/CMakeLists.txt +++ b/base/services/wuauserv/CMakeLists.txt @@ -1,6 +1,9 @@ +spec2def(wuauserv.dll wuauserv.spec ADD_IMPORTLIB) + add_library(wuauserv MODULE wuauserv.c - wuauserv.rc) + wuauserv.rc + ${CMAKE_CURRENT_BINARY_DIR}/wuauserv.def) set_module_type(wuauserv win32dll UNICODE) add_importlibs(wuauserv advapi32 msvcrt kernel32 ntdll) diff --git a/base/services/wuauserv/wuauserv.c b/base/services/wuauserv/wuauserv.c index d302169826d..cd9062c1145 100644 --- a/base/services/wuauserv/wuauserv.c +++ b/base/services/wuauserv/wuauserv.c @@ -37,6 +37,9 @@ UpdateServiceStatus(DWORD dwState) else ServiceStatus.dwWaitHint = 0; + if (dwState == SERVICE_RUNNING) + ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN; + SetServiceStatus(ServiceStatusHandle, &ServiceStatus); DPRINT1("WU UpdateServiceStatus() called\n"); @@ -52,8 +55,8 @@ ServiceControlHandler(DWORD dwControl, { case SERVICE_CONTROL_STOP: DPRINT1("WU ServiceControlHandler() SERVICE_CONTROL_STOP received\n"); - UpdateServiceStatus(SERVICE_STOPPED); SetEvent(exitEvent); + UpdateServiceStatus(SERVICE_STOP_PENDING); return ERROR_SUCCESS; case SERVICE_CONTROL_PAUSE: @@ -74,7 +77,8 @@ ServiceControlHandler(DWORD dwControl, case SERVICE_CONTROL_SHUTDOWN: DPRINT1("WU ServiceControlHandler() SERVICE_CONTROL_SHUTDOWN received\n"); - UpdateServiceStatus(SERVICE_STOPPED); + SetEvent(exitEvent); + UpdateServiceStatus(SERVICE_STOP_PENDING); return ERROR_SUCCESS; default : @@ -100,9 +104,10 @@ ServiceMain(DWORD argc, LPTSTR *argv) return; } + exitEvent = CreateEventW(NULL, TRUE, FALSE, NULL); + UpdateServiceStatus(SERVICE_RUNNING); - exitEvent = CreateEvent(NULL, TRUE, FALSE, NULL); WaitForSingleObject(exitEvent, INFINITE); CloseHandle(exitEvent); diff --git a/boot/bootdata/hivesft.inf b/boot/bootdata/hivesft.inf index 818d26745a4..3cbf73b7361 100644 --- a/boot/bootdata/hivesft.inf +++ b/boot/bootdata/hivesft.inf @@ -1781,7 +1781,7 @@ HKLM,"SOFTWARE\Microsoft\Ole","EnableRemoteConnect",0x00000000,"N" ; SvcHost services HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost",,0x00000012 HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","DcomLaunch",0x00010000,"DcomLaunch","PlugPlay" -HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","netsvcs",0x00010000,"DHCP","BITS","lanmanserver","lanmanworkstation","Schedule","Themes","winmgmt","W32Time" +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SvcHost","netsvcs",0x00010000,"DHCP","BITS","lanmanserver","lanmanworkstation","Schedule","Themes","W32Time","winmgmt","wuauserv" ; Win32 config HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows",,0x00000012
5 years, 5 months
1
0
0
0
[reactos] 01/01: [WIN32SS][NTGDI] Support raster fonts (*.fnt and *.fon) (#1739)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ae99df1675f87db87377c…
commit ae99df1675f87db87377ce4bf1f78181b1b4be95 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Sat Jul 20 23:47:29 2019 +0900 Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org> CommitDate: Sat Jul 20 16:47:29 2019 +0200 [WIN32SS][NTGDI] Support raster fonts (*.fnt and *.fon) (#1739) Add raster font (*.fnt and *.fon files) support. CORE-16165 - Add IntGetCharSet() function to get the charset by index and/or the number of charsets. - Make IntGdiLoadFontsFromMemory() a non-recursive function. - IntGetOutlineTextMetrics() accepts raster fonts. - Improve CharMap handling (especially TT_PLATFORM_APPLE_UNICODE). - Write the raster font file info to the registry. - Don't request font size for raster fonts in IntRequestFontSize() function. --- win32ss/gdi/ntgdi/font.c | 5 + win32ss/gdi/ntgdi/freetype.c | 568 ++++++++++++++++++++++--------------------- 2 files changed, 298 insertions(+), 275 deletions(-) diff --git a/win32ss/gdi/ntgdi/font.c b/win32ss/gdi/ntgdi/font.c index a48904cd8ef..ba51f26608d 100644 --- a/win32ss/gdi/ntgdi/font.c +++ b/win32ss/gdi/ntgdi/font.c @@ -907,6 +907,11 @@ NtGdiGetOutlineTextMetricsInternalW (HDC hDC, return 0; } FontGDI = ObjToGDI(TextObj->Font, FONT); + if (!(FontGDI->flType & FO_TYPE_TRUETYPE)) + { + TEXTOBJ_UnlockText(TextObj); + return 0; + } TextIntUpdateSize(dc, TextObj, FontGDI, TRUE); TEXTOBJ_UnlockText(TextObj); Size = IntGetOutlineTextMetrics(FontGDI, 0, NULL); diff --git a/win32ss/gdi/ntgdi/freetype.c b/win32ss/gdi/ntgdi/freetype.c index 854085d01e0..29f87d14229 100644 --- a/win32ss/gdi/ntgdi/freetype.c +++ b/win32ss/gdi/ntgdi/freetype.c @@ -1048,331 +1048,336 @@ WeightFromStyle(const char *style_name) static FT_Error IntRequestFontSize(PDC dc, PFONTGDI FontGDI, LONG lfWidth, LONG lfHeight); +/* NOTE: If nIndex < 0 then return the number of charsets. */ +UINT FASTCALL IntGetCharSet(INT nIndex, FT_ULong CodePageRange1) +{ + UINT BitIndex, CharSet; + UINT nCount = 0; + + if (CodePageRange1 == 0) + { + return (nIndex < 0) ? 1 : DEFAULT_CHARSET; + } + + for (BitIndex = 0; BitIndex < MAXTCIINDEX; ++BitIndex) + { + if (CodePageRange1 & (1 << BitIndex)) + { + CharSet = g_FontTci[BitIndex].ciCharset; + if ((nIndex >= 0) && (nCount == (UINT)nIndex)) + { + return CharSet; + } + ++nCount; + } + } + + return (nIndex < 0) ? nCount : ANSI_CHARSET; +} + +/* pixels to points */ +#define PX2PT(pixels) FT_MulDiv((pixels), 72, 96) + static INT FASTCALL -IntGdiLoadFontsFromMemory(PGDI_LOAD_FONT pLoadFont, - PSHARED_FACE SharedFace, FT_Long FontIndex, INT CharSetIndex) +IntGdiLoadFontsFromMemory(PGDI_LOAD_FONT pLoadFont) { FT_Error Error; PFONT_ENTRY Entry; - FONT_ENTRY_MEM* PrivateEntry = NULL; + FONT_ENTRY_MEM* PrivateEntry; FONTGDI * FontGDI; - NTSTATUS Status; FT_Face Face; ANSI_STRING AnsiString; FT_WinFNT_HeaderRec WinFNT; - INT FaceCount = 0, CharSetCount = 0; PUNICODE_STRING pFileName = pLoadFont->pFileName; DWORD Characteristics = pLoadFont->Characteristics; PUNICODE_STRING pValueName = &pLoadFont->RegValueName; TT_OS2 * pOS2; - INT BitIndex; - FT_UShort os2_version; FT_ULong os2_ulCodePageRange1; - FT_UShort os2_usWeightClass; - - if (SharedFace == NULL && CharSetIndex == -1) - { - /* load a face from memory */ - IntLockFreeType(); - Error = FT_New_Memory_Face( - g_FreeTypeLibrary, - pLoadFont->Memory->Buffer, - pLoadFont->Memory->BufferSize, - ((FontIndex != -1) ? FontIndex : 0), - &Face); - - if (!Error) - SharedFace = SharedFace_Create(Face, pLoadFont->Memory); - - IntUnLockFreeType(); - - if (!Error && FT_IS_SFNT(Face)) - pLoadFont->IsTrueType = TRUE; - - if (Error || SharedFace == NULL) - { - if (SharedFace) - SharedFace_Release(SharedFace); - - if (Error == FT_Err_Unknown_File_Format) - DPRINT1("Unknown font file format\n"); - else - DPRINT1("Error reading font (error code: %d)\n", Error); - return 0; /* failure */ - } - } - else - { - Face = SharedFace->Face; - IntLockFreeType(); - SharedFace_AddRef(SharedFace); - IntUnLockFreeType(); - } + PSHARED_FACE SharedFace; + INT iCharSet, CharSetCount; + FT_Long iFace, FaceCount; + USHORT NameLength; + WCHAR szSize[32]; + UNICODE_STRING NewString; + USHORT Length; + + /* get num_faces */ + IntLockFreeType(); + Error = FT_New_Memory_Face(g_FreeTypeLibrary, + pLoadFont->Memory->Buffer, + pLoadFont->Memory->BufferSize, + -1, + &Face); + FaceCount = Face->num_faces; + FT_Done_Face(Face); + IntUnLockFreeType(); - /* allocate a FONT_ENTRY */ - Entry = ExAllocatePoolWithTag(PagedPool, sizeof(FONT_ENTRY), TAG_FONT); - if (!Entry) + if (Error) { - SharedFace_Release(SharedFace); - EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); + if (Error == FT_Err_Unknown_File_Format) + DPRINT1("Unknown font file format\n"); + else + DPRINT1("Error reading font (FT_Error: %d)\n", Error); return 0; /* failure */ } - /* allocate a FONTGDI */ - FontGDI = EngAllocMem(FL_ZERO_MEMORY, sizeof(FONTGDI), GDITAG_RFONT); - if (!FontGDI) + for (iFace = 0; iFace < FaceCount; ++iFace) { - SharedFace_Release(SharedFace); - ExFreePoolWithTag(Entry, TAG_FONT); - EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); - return 0; /* failure */ - } + Face = NULL; + SharedFace = NULL; - /* set file name */ - if (pFileName) - { - FontGDI->Filename = ExAllocatePoolWithTag(PagedPool, - pFileName->Length + sizeof(UNICODE_NULL), - GDITAG_PFF); - if (FontGDI->Filename == NULL) + IntLockFreeType(); + Error = FT_New_Memory_Face(g_FreeTypeLibrary, + pLoadFont->Memory->Buffer, + pLoadFont->Memory->BufferSize, + iFace, + &Face); + if (!Error) { - EngFreeMem(FontGDI); - SharedFace_Release(SharedFace); - ExFreePoolWithTag(Entry, TAG_FONT); - EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); - return 0; /* failure */ + SharedFace = SharedFace_Create(Face, pLoadFont->Memory); } + IntUnLockFreeType(); - RtlCopyMemory(FontGDI->Filename, pFileName->Buffer, pFileName->Length); - FontGDI->Filename[pFileName->Length / sizeof(WCHAR)] = UNICODE_NULL; - } - else - { - FontGDI->Filename = NULL; - - PrivateEntry = ExAllocatePoolWithTag(PagedPool, sizeof(FONT_ENTRY_MEM), TAG_FONT); - if (!PrivateEntry) + if (Error || !SharedFace) { - if (FontGDI->Filename) - ExFreePoolWithTag(FontGDI->Filename, GDITAG_PFF); - EngFreeMem(FontGDI); - SharedFace_Release(SharedFace); - ExFreePoolWithTag(Entry, TAG_FONT); + DPRINT1("Error reading font (FT_Error: %d)\n", Error); return 0; } - PrivateEntry->Entry = Entry; - if (pLoadFont->PrivateEntry) - { - InsertTailList(&pLoadFont->PrivateEntry->ListEntry, &PrivateEntry->ListEntry); - } - else - { - InitializeListHead(&PrivateEntry->ListEntry); - pLoadFont->PrivateEntry = PrivateEntry; - } - } - - /* set face */ - FontGDI->SharedFace = SharedFace; - FontGDI->CharSet = ANSI_CHARSET; - FontGDI->OriginalItalic = ItalicFromStyle(Face->style_name); - FontGDI->RequestItalic = FALSE; - FontGDI->OriginalWeight = WeightFromStyle(Face->style_name); - FontGDI->RequestWeight = FW_NORMAL; - - RtlInitAnsiString(&AnsiString, Face->family_name); - Status = RtlAnsiStringToUnicodeString(&Entry->FaceName, &AnsiString, TRUE); - if (NT_SUCCESS(Status)) - { - if (Face->style_name && Face->style_name[0] && - strcmp(Face->style_name, "Regular") != 0) + /* os2_ulCodePageRange1 and CharSetCount and IsTrueType */ + os2_ulCodePageRange1 = 0; + if (FT_IS_SFNT(Face)) { - RtlInitAnsiString(&AnsiString, Face->style_name); - Status = RtlAnsiStringToUnicodeString(&Entry->StyleName, &AnsiString, TRUE); - if (!NT_SUCCESS(Status)) + IntLockFreeType(); + pOS2 = (TT_OS2 *)FT_Get_Sfnt_Table(Face, FT_SFNT_OS2); + if (pOS2) { - RtlFreeUnicodeString(&Entry->FaceName); + os2_ulCodePageRange1 = pOS2->ulCodePageRange1; } + IntUnLockFreeType(); + + CharSetCount = IntGetCharSet(-1, os2_ulCodePageRange1); + pLoadFont->IsTrueType = TRUE; } else { - RtlInitUnicodeString(&Entry->StyleName, NULL); + CharSetCount = 1; + pLoadFont->IsTrueType = FALSE; } - } - if (!NT_SUCCESS(Status)) - { - if (PrivateEntry) + + for (iCharSet = 0; iCharSet < CharSetCount; ++iCharSet) { - if (pLoadFont->PrivateEntry == PrivateEntry) + if (iCharSet > 0) { - pLoadFont->PrivateEntry = NULL; + IntLockFreeType(); + SharedFace_AddRef(SharedFace); + IntUnLockFreeType(); } - else + + /* allocate a FONT_ENTRY */ + Entry = ExAllocatePoolWithTag(PagedPool, sizeof(FONT_ENTRY), TAG_FONT); + if (!Entry) { - RemoveEntryList(&PrivateEntry->ListEntry); + SharedFace_Release(SharedFace); + EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); + DPRINT1("ERROR_NOT_ENOUGH_MEMORY\n"); + return 0; /* failure */ } - ExFreePoolWithTag(PrivateEntry, TAG_FONT); - } - if (FontGDI->Filename) - ExFreePoolWithTag(FontGDI->Filename, GDITAG_PFF); - EngFreeMem(FontGDI); - SharedFace_Release(SharedFace); - ExFreePoolWithTag(Entry, TAG_FONT); - return 0; - } - os2_version = 0; - IntLockFreeType(); - pOS2 = (TT_OS2 *)FT_Get_Sfnt_Table(Face, FT_SFNT_OS2); - if (pOS2) - { - os2_version = pOS2->version; - os2_ulCodePageRange1 = pOS2->ulCodePageRange1; - os2_usWeightClass = pOS2->usWeightClass; - } - IntUnLockFreeType(); - - if (pOS2 && os2_version >= 1) - { - /* get charset and weight from OS/2 header */ + /* allocate a FONTGDI */ + FontGDI = EngAllocMem(FL_ZERO_MEMORY, sizeof(FONTGDI), GDITAG_RFONT); + if (!FontGDI) + { + SharedFace_Release(SharedFace); + ExFreePoolWithTag(Entry, TAG_FONT); + EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); + DPRINT1("ERROR_NOT_ENOUGH_MEMORY\n"); + return 0; /* failure */ + } - /* Make sure we do not use this pointer anymore */ - pOS2 = NULL; + /* set face */ + FontGDI->SharedFace = SharedFace; + FontGDI->CharSet = ANSI_CHARSET; + FontGDI->OriginalItalic = ItalicFromStyle(Face->style_name); + FontGDI->RequestItalic = FALSE; + FontGDI->OriginalWeight = WeightFromStyle(Face->style_name); + FontGDI->RequestWeight = FW_NORMAL; + + /* Entry->FaceName */ + RtlInitAnsiString(&AnsiString, Face->family_name); + RtlAnsiStringToUnicodeString(&Entry->FaceName, &AnsiString, TRUE); + + /* Entry->StyleName */ + if (Face->style_name && Face->style_name[0] && + strcmp(Face->style_name, "Regular") != 0) + { + RtlInitAnsiString(&AnsiString, Face->style_name); + RtlAnsiStringToUnicodeString(&Entry->StyleName, &AnsiString, TRUE); + } + else + { + RtlInitUnicodeString(&Entry->StyleName, NULL); + } - for (BitIndex = 0; BitIndex < MAXTCIINDEX; ++BitIndex) - { - if (os2_ulCodePageRange1 & (1 << BitIndex)) + /* FontGDI->CharSet */ + if (FT_IS_SFNT(Face)) { - if (g_FontTci[BitIndex].ciCharset == DEFAULT_CHARSET) - continue; + FontGDI->CharSet = IntGetCharSet(iCharSet, os2_ulCodePageRange1); - if ((CharSetIndex == -1 && CharSetCount == 0) || - CharSetIndex == CharSetCount) + /* FIXME: CharSet is invalid on our Marlett */ + if (RtlEqualUnicodeString(&Entry->FaceName, &g_MarlettW, TRUE)) { - FontGDI->CharSet = g_FontTci[BitIndex].ciCharset; + FontGDI->CharSet = SYMBOL_CHARSET; } - - ++CharSetCount; } - } - - /* set actual weight */ - FontGDI->OriginalWeight = os2_usWeightClass; - } - else - { - /* get charset from WinFNT header */ - IntLockFreeType(); - Error = FT_Get_WinFNT_Header(Face, &WinFNT); - if (!Error) - { - FontGDI->CharSet = WinFNT.charset; - } - IntUnLockFreeType(); - } + else + { + IntLockFreeType(); + Error = FT_Get_WinFNT_Header(Face, &WinFNT); + if (!Error) + { + FontGDI->CharSet = WinFNT.charset; + } + IntUnLockFreeType(); + } - /* FIXME: CharSet is invalid on Marlett */ - if (RtlEqualUnicodeString(&Entry->FaceName, &g_MarlettW, TRUE)) - { - FontGDI->CharSet = SYMBOL_CHARSET; - } + /* set file name */ + if (pFileName) + { + FontGDI->Filename = ExAllocatePoolWithTag(PagedPool, + pFileName->Length + sizeof(UNICODE_NULL), + GDITAG_PFF); + if (FontGDI->Filename == NULL) + { + EngFreeMem(FontGDI); + SharedFace_Release(SharedFace); + ExFreePoolWithTag(Entry, TAG_FONT); + EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); + DPRINT1("ERROR_NOT_ENOUGH_MEMORY\n"); + return 0; /* failure */ + } - ++FaceCount; - DPRINT("Font loaded: %s (%s)\n", - Face->family_name ? Face->family_name : "<NULL>", - Face->style_name ? Face->style_name : "<NULL>"); - DPRINT("Num glyphs: %d\n", Face->num_glyphs); - DPRINT("CharSet: %d\n", FontGDI->CharSet); + RtlCopyMemory(FontGDI->Filename, pFileName->Buffer, pFileName->Length); + FontGDI->Filename[pFileName->Length / sizeof(WCHAR)] = UNICODE_NULL; + } + else + { + FontGDI->Filename = NULL; - IntLockFreeType(); - IntRequestFontSize(NULL, FontGDI, 0, 0); - IntUnLockFreeType(); + PrivateEntry = ExAllocatePoolWithTag(PagedPool, sizeof(FONT_ENTRY_MEM), TAG_FONT); + if (!PrivateEntry) + { + if (FontGDI->Filename) + ExFreePoolWithTag(FontGDI->Filename, GDITAG_PFF); + EngFreeMem(FontGDI); + SharedFace_Release(SharedFace); + ExFreePoolWithTag(Entry, TAG_FONT); + EngSetLastError(ERROR_NOT_ENOUGH_MEMORY); + DPRINT1("ERROR_NOT_ENOUGH_MEMORY\n"); + return 0; + } - /* Add this font resource to the font table */ - Entry->Font = FontGDI; - Entry->NotEnum = (Characteristics & FR_NOT_ENUM); + PrivateEntry->Entry = Entry; + if (pLoadFont->PrivateEntry) + { + InsertTailList(&pLoadFont->PrivateEntry->ListEntry, &PrivateEntry->ListEntry); + } + else + { + InitializeListHead(&PrivateEntry->ListEntry); + pLoadFont->PrivateEntry = PrivateEntry; + } + } - if (Characteristics & FR_PRIVATE) - { - /* private font */ - PPROCESSINFO Win32Process = PsGetCurrentProcessWin32Process(); - IntLockProcessPrivateFonts(Win32Process); - InsertTailList(&Win32Process->PrivateFontListHead, &Entry->ListEntry); - IntUnLockProcessPrivateFonts(Win32Process); - } - else - { - /* global font */ - IntLockGlobalFonts(); - InsertTailList(&g_FontListHead, &Entry->ListEntry); - IntUnLockGlobalFonts(); - } + /* Add this font resource to the font table */ + Entry->Font = FontGDI; + Entry->NotEnum = (Characteristics & FR_NOT_ENUM); - if (FontIndex == -1) - { - if (FT_IS_SFNT(Face)) - { - TT_Face TrueType = (TT_Face)Face; - if (TrueType->ttc_header.count > 1) + if (Characteristics & FR_PRIVATE) { - FT_Long i; - for (i = 1; i < TrueType->ttc_header.count; ++i) - { - FaceCount += IntGdiLoadFontsFromMemory(pLoadFont, NULL, i, -1); - } + /* private font */ + PPROCESSINFO Win32Process = PsGetCurrentProcessWin32Process(); + IntLockProcessPrivateFonts(Win32Process); + InsertTailList(&Win32Process->PrivateFontListHead, &Entry->ListEntry); + IntUnLockProcessPrivateFonts(Win32Process); + } + else + { + /* global font */ + IntLockGlobalFonts(); + InsertTailList(&g_FontListHead, &Entry->ListEntry); + IntUnLockGlobalFonts(); } - } - FontIndex = 0; - } - if (CharSetIndex == -1) - { - INT i; - USHORT NameLength = Entry->FaceName.Length; + DPRINT("Font loaded: %s (%s)\n", + Face->family_name ? Face->family_name : "<NULL>", + Face->style_name ? Face->style_name : "<NULL>"); + DPRINT("Num glyphs: %d\n", Face->num_glyphs); + DPRINT("CharSet: %d\n", FontGDI->CharSet); + } - if (Entry->StyleName.Length) - NameLength += Entry->StyleName.Length + sizeof(WCHAR); + IntLockFreeType(); + IntRequestFontSize(NULL, FontGDI, 0, 0); + IntUnLockFreeType(); + NameLength = Entry->FaceName.Length; if (pLoadFont->RegValueName.Length == 0) { - pValueName->Length = 0; - pValueName->MaximumLength = NameLength + sizeof(WCHAR); - pValueName->Buffer = ExAllocatePoolWithTag(PagedPool, - pValueName->MaximumLength, - TAG_USTR); - pValueName->Buffer[0] = UNICODE_NULL; - RtlAppendUnicodeStringToString(pValueName, &Entry->FaceName); + if (FT_IS_SFNT(Face)) + { + RtlCreateUnicodeString(pValueName, Entry->FaceName.Buffer); + } + else + { + szSize[0] = L' '; + _itow(PX2PT(FontGDI->EmHeight), &szSize[1], 10); + + Length = NameLength + wcslen(szSize) * sizeof(WCHAR); + pValueName->Length = 0; + pValueName->MaximumLength = Length + sizeof(WCHAR); + pValueName->Buffer = ExAllocatePoolWithTag(PagedPool, + pValueName->MaximumLength, + TAG_USTR); + pValueName->Buffer[0] = UNICODE_NULL; + RtlAppendUnicodeStringToString(pValueName, &Entry->FaceName); + RtlAppendUnicodeToString(pValueName, szSize); + } } else { - UNICODE_STRING NewString; - USHORT Length = pValueName->Length + 3 * sizeof(WCHAR) + NameLength; - NewString.Length = 0; - NewString.MaximumLength = Length + sizeof(WCHAR); - NewString.Buffer = ExAllocatePoolWithTag(PagedPool, - NewString.MaximumLength, - TAG_USTR); - NewString.Buffer[0] = UNICODE_NULL; - - RtlAppendUnicodeStringToString(&NewString, pValueName); - RtlAppendUnicodeToString(&NewString, L" & "); - RtlAppendUnicodeStringToString(&NewString, &Entry->FaceName); + if (FT_IS_SFNT(Face)) + { + Length = pValueName->Length + 3 * sizeof(WCHAR) + NameLength; + NewString.Length = 0; + NewString.MaximumLength = Length + sizeof(WCHAR); + NewString.Buffer = ExAllocatePoolWithTag(PagedPool, + NewString.MaximumLength, + TAG_USTR); + NewString.Buffer[0] = UNICODE_NULL; + RtlAppendUnicodeStringToString(&NewString, pValueName); + RtlAppendUnicodeToString(&NewString, L" & "); + RtlAppendUnicodeStringToString(&NewString, &Entry->FaceName); + } + else + { + szSize[0] = L','; + szSize[1] = L' '; + _itow(PX2PT(FontGDI->EmHeight), &szSize[2], 10); + + Length = pValueName->Length + wcslen(szSize) * sizeof(WCHAR); + NewString.Length = 0; + NewString.MaximumLength = Length + sizeof(WCHAR); + NewString.Buffer = ExAllocatePoolWithTag(PagedPool, + NewString.MaximumLength, + TAG_USTR); + NewString.Buffer[0] = UNICODE_NULL; + RtlAppendUnicodeStringToString(&NewString, pValueName); + RtlAppendUnicodeToString(&NewString, szSize); + } RtlFreeUnicodeString(pValueName); *pValueName = NewString; } - if (Entry->StyleName.Length) - { - RtlAppendUnicodeToString(pValueName, L" "); - RtlAppendUnicodeStringToString(pValueName, &Entry->StyleName); - } - - for (i = 1; i < CharSetCount; ++i) - { - /* Do not count charsets towards 'faces' loaded */ - IntGdiLoadFontsFromMemory(pLoadFont, SharedFace, FontIndex, i); - } } return FaceCount; /* number of loaded faces */ @@ -1441,7 +1446,7 @@ IntGdiAddFontResource(PUNICODE_STRING FileName, DWORD Characteristics) RtlInitUnicodeString(&LoadFont.RegValueName, NULL); LoadFont.IsTrueType = FALSE; LoadFont.PrivateEntry = NULL; - FontCount = IntGdiLoadFontsFromMemory(&LoadFont, NULL, -1, -1); + FontCount = IntGdiLoadFontsFromMemory(&LoadFont); ObDereferenceObject(SectionObject); @@ -1519,7 +1524,7 @@ IntGdiAddFontMemResource(PVOID Buffer, DWORD dwSize, PDWORD pNumAdded) RtlInitUnicodeString(&LoadFont.RegValueName, NULL); LoadFont.IsTrueType = FALSE; LoadFont.PrivateEntry = NULL; - FaceCount = IntGdiLoadFontsFromMemory(&LoadFont, NULL, -1, -1); + FaceCount = IntGdiLoadFontsFromMemory(&LoadFont); RtlFreeUnicodeString(&LoadFont.RegValueName); @@ -2200,7 +2205,11 @@ IntGetOutlineTextMetrics(PFONTGDI FontGDI, IntLockFreeType(); pOS2 = FT_Get_Sfnt_Table(Face, FT_SFNT_OS2); - if (NULL == pOS2) + pHori = FT_Get_Sfnt_Table(Face, FT_SFNT_HHEA); + pPost = FT_Get_Sfnt_Table(Face, FT_SFNT_POST); /* We can live with this failing */ + Error = FT_Get_WinFNT_Header(Face, &WinFNT); + + if (pOS2 == NULL && Error) { IntUnLockFreeType(); DPRINT1("Can't find OS/2 table - not TT font?\n"); @@ -2208,8 +2217,7 @@ IntGetOutlineTextMetrics(PFONTGDI FontGDI, return 0; } - pHori = FT_Get_Sfnt_Table(Face, FT_SFNT_HHEA); - if (NULL == pHori) + if (pHori == NULL && Error) { IntUnLockFreeType(); DPRINT1("Can't find HHEA table - not TT font?\n"); @@ -2217,14 +2225,13 @@ IntGetOutlineTextMetrics(PFONTGDI FontGDI, return 0; } - pPost = FT_Get_Sfnt_Table(Face, FT_SFNT_POST); /* We can live with this failing */ - - Error = FT_Get_WinFNT_Header(Face, &WinFNT); - Otm->otmSize = Cache->OutlineRequiredSize; FillTM(&Otm->otmTextMetrics, FontGDI, pOS2, pHori, !Error ? &WinFNT : 0); + if (!pOS2) + goto skip_os2; + Otm->otmFiller = 0; RtlCopyMemory(&Otm->otmPanoseNumber, pOS2->panose, PANOSE_COUNT); Otm->otmfsSelection = pOS2->fsSelection; @@ -2275,6 +2282,7 @@ IntGetOutlineTextMetrics(PFONTGDI FontGDI, #undef SCALE_X #undef SCALE_Y +skip_os2: IntUnLockFreeType(); pb = IntStoreFontNames(&FontNames, Otm); @@ -3260,13 +3268,7 @@ IntRequestFontSize(PDC dc, PFONTGDI FontGDI, LONG lfWidth, LONG lfHeight) FontGDI->EmHeight = max(FontGDI->EmHeight, 1); FontGDI->EmHeight = min(FontGDI->EmHeight, USHORT_MAX); FontGDI->Magic = FONTGDI_MAGIC; - - req.type = FT_SIZE_REQUEST_TYPE_NOMINAL; - req.width = 0; - req.height = (FT_Long)(FontGDI->EmHeight << 6); - req.horiResolution = 0; - req.vertResolution = 0; - return FT_Request_Size(face, &req); + return 0; } /* @@ -3365,6 +3367,18 @@ TextIntUpdateSize(PDC dc, } } if (!found) + { + for (n = 0; n < face->num_charmaps; n++) + { + charmap = face->charmaps[n]; + if (charmap->platform_id == TT_PLATFORM_APPLE_UNICODE) + { + found = charmap; + break; + } + } + } + if (!found) { for (n = 0; n < face->num_charmaps; n++) { @@ -3376,6 +3390,10 @@ TextIntUpdateSize(PDC dc, } } } + if (!found && face->num_charmaps > 0) + { + found = face->charmaps[0]; + } if (!found) { DPRINT1("WARNING: Could not find desired charmap!\n"); @@ -4321,7 +4339,7 @@ ftGdiGetTextMetricsW( Error = FT_Get_WinFNT_Header(Face, &Win); - if (NT_SUCCESS(Status)) + if (NT_SUCCESS(Status) || !Error) { FillTM(&ptmwi->TextMetric, FontGDI, pOS2, pHori, !Error ? &Win : 0);
5 years, 5 months
1
0
0
0
[reactos] 01/01: [WMISVC] Accept stop and shutdown commands when the service is running.
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=eb532bc64159f62ca766e…
commit eb532bc64159f62ca766efa1bb8a2d199dcf95e9 Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Sat Jul 20 15:50:35 2019 +0200 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Sat Jul 20 15:51:39 2019 +0200 [WMISVC] Accept stop and shutdown commands when the service is running. --- base/services/wmisvc/wmisvc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base/services/wmisvc/wmisvc.c b/base/services/wmisvc/wmisvc.c index 042ff84e3df..9ec17bb71b0 100644 --- a/base/services/wmisvc/wmisvc.c +++ b/base/services/wmisvc/wmisvc.c @@ -66,6 +66,9 @@ UpdateServiceStatus(DWORD dwState) else ServiceStatus.dwWaitHint = 0; + if (dwState == SERVICE_RUNNING) + ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN; + SetServiceStatus(ServiceStatusHandle, &ServiceStatus); }
5 years, 5 months
1
0
0
0
[reactos] 21/21: [GEN_BASEADDRESS] Add framebuf.dll and framebuf_new.dll to exclude ist in gen_baseaddress.py
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9efeefd506343f90f8931…
commit 9efeefd506343f90f8931223e3232c9ca3e8d00d Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Wed May 1 09:44:33 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [GEN_BASEADDRESS] Add framebuf.dll and framebuf_new.dll to exclude ist in gen_baseaddress.py --- sdk/tools/gen_baseaddress.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/tools/gen_baseaddress.py b/sdk/tools/gen_baseaddress.py index 673f67d5519..66cf4a6479f 100644 --- a/sdk/tools/gen_baseaddress.py +++ b/sdk/tools/gen_baseaddress.py @@ -90,9 +90,12 @@ PRIORITIES = ( EXCLUDE = ( 'bmfd.dll', 'bootvid.dll', + 'framebuf.dll', + 'framebuf_new.dll', 'freeldr_pe.dll', 'ftfd.dll', 'fusion.dll', + 'genincdata.dll', 'hal.dll', 'halaacpi.dll', 'halacpi.dll',
5 years, 5 months
1
0
0
0
[reactos] 20/21: [TOOLS] Make gen_baseaddress.py python 3 compatible
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=599843ac8e29b2279042c…
commit 599843ac8e29b2279042c1eda20e1b07b329bd37 Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Mon Apr 29 17:00:18 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [TOOLS] Make gen_baseaddress.py python 3 compatible --- sdk/tools/gen_baseaddress.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/tools/gen_baseaddress.py b/sdk/tools/gen_baseaddress.py index 3a4c1e68d5c..673f67d5519 100644 --- a/sdk/tools/gen_baseaddress.py +++ b/sdk/tools/gen_baseaddress.py @@ -203,13 +203,13 @@ def is_x64(): def size_of_image_fallback(filename): with open(filename, 'rb') as fin: - if fin.read(2) != 'MZ': + if fin.read(2) != b'MZ': print(filename, 'No dos header found!') return 0 fin.seek(0x3C) e_lfanew = struct.unpack('i', fin.read(4))[0] fin.seek(e_lfanew) - if fin.read(4) != 'PE\0\0': + if fin.read(4) != b'PE\0\0': print(filename, 'No PE header found!') return 0 fin.seek(e_lfanew + 0x18) @@ -332,8 +332,8 @@ class MemoryLayout(object): def guess_version(ntdll_path): if 'pefile' in globals(): ntdll_pe = pefile.PE(ntdll_path, fast_load=True) - names = [sect.Name.strip('\0') for sect in ntdll_pe.sections] - count = '|'.join(names).count('/') + names = [sect.Name.strip(b'\0') for sect in ntdll_pe.sections] + count = b'|'.join(names).count(b'/') if '.rossym' in names: print('# This should probably go in baseaddress.cmake') elif is_x64():
5 years, 5 months
1
0
0
0
[reactos] 19/21: [CMAKE] Update base addresses
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5aab1831f723b59230afd…
commit 5aab1831f723b59230afde20360d95172743d0cc Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Mon Apr 29 16:07:06 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [CMAKE] Update base addresses --- sdk/cmake/baseaddress.cmake | 744 ++++++++++++++++++++++---------------------- 1 file changed, 369 insertions(+), 375 deletions(-) diff --git a/sdk/cmake/baseaddress.cmake b/sdk/cmake/baseaddress.cmake index d82530e0e57..3ab2ff2c8b9 100644 --- a/sdk/cmake/baseaddress.cmake +++ b/sdk/cmake/baseaddress.cmake @@ -1,378 +1,372 @@ -# Generated from R:\build\master\gcc +# Generated from E:\build-gcc-x86 # Generated by sdk/tools/gen_baseaddress.py set(baseaddress_ntdll 0x7c920000) # should be above 0x7c920000 -set(baseaddress_kernel32 0x7c5d0000) -set(baseaddress_msvcrt 0x7c510000) -set(baseaddress_advapi32 0x7c460000) -set(baseaddress_gdi32 0x7c3b0000) +set(baseaddress_kernel32 0x7c5b0000) +set(baseaddress_msvcrt 0x7c4d0000) +set(baseaddress_advapi32 0x7c400000) +set(baseaddress_gdi32 0x7c340000) set(baseaddress_user32 0x77a20000) # reserved -set(baseaddress_dhcpcsvc 0x7c360000) -set(baseaddress_dnsapi 0x7c310000) -set(baseaddress_icmp 0x7c2e0000) -set(baseaddress_iphlpapi 0x7c290000) -set(baseaddress_ws2_32 0x7c240000) -set(baseaddress_ws2help 0x7c210000) -set(baseaddress_shlwapi 0x7c160000) -set(baseaddress_rpcrt4 0x7c090000) -set(baseaddress_comctl32 0x7beb0000) -set(baseaddress_ole32 0x7bcd0000) -set(baseaddress_winspool 0x7bc80000) -set(baseaddress_winmm 0x7bbc0000) -set(baseaddress_comdlg32 0x7bab0000) -set(baseaddress_shell32 0x7b1e0000) -set(baseaddress_lz32 0x7b1c0000) -set(baseaddress_version 0x7b190000) -set(baseaddress_oleaut32 0x7afb0000) -set(baseaddress_setupapi 0x7ae30000) -set(baseaddress_mpr 0x7adf0000) -set(baseaddress_crypt32 0x7ace0000) -set(baseaddress_wininet 0x7ac20000) -set(baseaddress_urlmon 0x7ab20000) -set(baseaddress_psapi 0x7aaf0000) -set(baseaddress_imm32 0x7aab0000) -set(baseaddress_msvfw32 0x7aa60000) -set(baseaddress_dbghelp 0x7a9b0000) -set(baseaddress_devmgr 0x7a8d0000) -set(baseaddress_msacm32 0x7a890000) -set(baseaddress_netapi32 0x7a800000) -set(baseaddress_powrprof 0x7a7d0000) -set(baseaddress_secur32 0x7a780000) -set(baseaddress_wintrust 0x7a720000) -set(baseaddress_avicap32 0x7a6f0000) -set(baseaddress_cabinet 0x7a6a0000) -set(baseaddress_dsound 0x7a620000) -set(baseaddress_glu32 0x7a520000) -set(baseaddress_opengl32 0x7a310000) -set(baseaddress_riched20 0x7a240000) -set(baseaddress_smdll 0x7a220000) -set(baseaddress_userenv 0x7a1d0000) -set(baseaddress_uxtheme 0x7a170000) -set(baseaddress_cryptui 0x7a0c0000) -set(baseaddress_csrsrv 0x7a090000) -set(baseaddress_basesrv 0x7a060000) -set(baseaddress_winsrv 0x79fb0000) -set(baseaddress_dplayx 0x79f40000) -set(baseaddress_gdiplus 0x79e60000) -set(baseaddress_msimg32 0x79e30000) -set(baseaddress_mswsock 0x79e00000) -set(baseaddress_oledlg 0x79db0000) -set(baseaddress_rasapi32 0x79d80000) -set(baseaddress_rsaenh 0x79d10000) -set(baseaddress_samlib 0x79cd0000) -set(baseaddress_sensapi 0x79ca0000) -set(baseaddress_sfc_os 0x79c70000) -set(baseaddress_snmpapi 0x79c40000) -set(baseaddress_spoolss 0x79c00000) -set(baseaddress_usp10 0x79b80000) -set(baseaddress_access 0x79b00000) -set(baseaddress_acgenral 0x79ad0000) -set(baseaddress_aclayers 0x79aa0000) -set(baseaddress_acledit 0x79a70000) -set(baseaddress_aclui 0x79a30000) -set(baseaddress_acppage 0x799c0000) -set(baseaddress_activeds 0x79990000) -set(baseaddress_actxprxy 0x79780000) -set(baseaddress_advapi32_vista 0x79760000) -set(baseaddress_advpack 0x79720000) -set(baseaddress_amstream 0x796c0000) -set(baseaddress_apphelp 0x79680000) -set(baseaddress_appwiz 0x79600000) -set(baseaddress_atl 0x795c0000) -set(baseaddress_atl100 0x79580000) -set(baseaddress_atl80 0x79540000) -set(baseaddress_authz 0x79510000) -set(baseaddress_avifil32 0x79490000) -set(baseaddress_batt 0x79460000) -set(baseaddress_bcrypt 0x79430000) -set(baseaddress_beepmidi 0x79400000) -set(baseaddress_browseui 0x79270000) -set(baseaddress_bthci 0x79240000) -set(baseaddress_cards 0x79180000) -set(baseaddress_cfgmgr32 0x79150000) -set(baseaddress_clusapi 0x79120000) -set(baseaddress_cmicpl 0x790e0000) -set(baseaddress_comcat 0x790b0000) -set(baseaddress_compstui 0x79080000) -set(baseaddress_console 0x79020000) -set(baseaddress_credui 0x78fe0000) -set(baseaddress_crtdll 0x78f70000) -set(baseaddress_cryptdlg 0x78f40000) -set(baseaddress_cryptdll 0x78f10000) -set(baseaddress_cryptnet 0x78ee0000) -set(baseaddress_custom 0x78eb0000) -set(baseaddress_d3d8 0x78e50000) -set(baseaddress_d3d8thk 0x78e30000) -set(baseaddress_d3d9 0x78dc0000) -set(baseaddress_d3dcompiler_43 0x78d10000) -set(baseaddress_d3drm 0x78c70000) -set(baseaddress_d3dwine 0x78a60000) -set(baseaddress_d3dx9_24 0x78a30000) -set(baseaddress_d3dx9_25 0x789f0000) -set(baseaddress_d3dx9_26 0x789c0000) -set(baseaddress_d3dx9_27 0x78990000) -set(baseaddress_d3dx9_28 0x78960000) -set(baseaddress_d3dx9_29 0x78930000) -set(baseaddress_d3dx9_30 0x78900000) -set(baseaddress_d3dx9_31 0x788d0000) -set(baseaddress_d3dx9_32 0x788a0000) -set(baseaddress_d3dx9_33 0x78870000) -set(baseaddress_d3dx9_34 0x78840000) -set(baseaddress_d3dx9_35 0x78810000) -set(baseaddress_d3dx9_36 0x78710000) -set(baseaddress_d3dx9_37 0x786e0000) -set(baseaddress_d3dx9_38 0x786b0000) -set(baseaddress_d3dx9_39 0x78680000) -set(baseaddress_d3dx9_40 0x78650000) -set(baseaddress_d3dx9_41 0x78620000) -set(baseaddress_d3dx9_42 0x785f0000) -set(baseaddress_d3dx9_43 0x785c0000) -set(baseaddress_d3dxof 0x78580000) -set(baseaddress_dciman32 0x78550000) -set(baseaddress_ddraw 0x78490000) -set(baseaddress_desk 0x783f0000) -set(baseaddress_deskadp 0x783c0000) -set(baseaddress_deskmon 0x78390000) -set(baseaddress_devcpux 0x78360000) -set(baseaddress_devenum 0x78310000) -set(baseaddress_dinput 0x782b0000) -set(baseaddress_dinput8 0x78280000) -set(baseaddress_dmusic 0x78230000) -set(baseaddress_dplay 0x78200000) -set(baseaddress_dxdiagn 0x781b0000) -set(baseaddress_dxtn 0x78190000) -set(baseaddress_esent 0x78160000) -set(baseaddress_faultrep 0x78130000) -set(baseaddress_fltlib 0x78100000) -set(baseaddress_fmifs 0x780e0000) -set(baseaddress_fontext 0x780b0000) -set(baseaddress_fontsub 0x78080000) -set(baseaddress_framebuf 0x78060000) -set(baseaddress_framebuf_new 0x78040000) -set(baseaddress_framedyn 0x78000000) -set(baseaddress_genincdata 0x77fd0000) -set(baseaddress_getuname 0x76dd0000) -set(baseaddress_hdwwiz 0x76d50000) -set(baseaddress_hhctrl 0x76cf0000) -set(baseaddress_hid 0x76cc0000) -set(baseaddress_hlink 0x76c80000) -set(baseaddress_hnetcfg 0x76c40000) -set(baseaddress_httpapi 0x76c10000) -set(baseaddress_iccvid 0x76be0000) -set(baseaddress_ieframe 0x76ae0000) -set(baseaddress_iernonce 0x76ab0000) -set(baseaddress_imaadp32.acm 0x76a80000) -set(baseaddress_imagehlp 0x76a50000) -set(baseaddress_inetcomm 0x769e0000) -set(baseaddress_inetcpl 0x76980000) -set(baseaddress_inetmib1 0x76950000) -set(baseaddress_initpki 0x76920000) -set(baseaddress_input 0x768c0000) -set(baseaddress_inseng 0x76880000) -set(baseaddress_intl 0x76810000) -set(baseaddress_iologmsg 0x767f0000) -set(baseaddress_itircl 0x767c0000) -set(baseaddress_itss 0x76780000) -set(baseaddress_joy 0x76740000) -set(baseaddress_jscript 0x76630000) -set(baseaddress_jsproxy 0x76600000) -set(baseaddress_kbdeo 0x765e0000) -set(baseaddress_kbsdll 0x765b0000) -set(baseaddress_kernel32_vista 0x76590000) -set(baseaddress_ksuser 0x76560000) -set(baseaddress_libjpeg 0x764d0000) -set(baseaddress_libpng 0x76440000) -set(baseaddress_libtiff 0x76370000) -set(baseaddress_libtirpc 0x76310000) -set(baseaddress_libxslt 0x76040000) -set(baseaddress_load_notifications 0x76020000) -set(baseaddress_loadperf 0x75ff0000) -set(baseaddress_localmon 0x75fc0000) -set(baseaddress_localspl 0x75f80000) -set(baseaddress_localspl_apitest 0x75f50000) -set(baseaddress_localui 0x75f20000) -set(baseaddress_lpk 0x75ee0000) -set(baseaddress_lsasrv 0x75e70000) -set(baseaddress_main 0x75dd0000) -set(baseaddress_mapi32 0x75d90000) -set(baseaddress_mbedtls 0x75d00000) -set(baseaddress_mciavi32 0x75cc0000) -set(baseaddress_mcicda 0x75c90000) -set(baseaddress_mciqtz32 0x75c50000) -set(baseaddress_mciseq 0x75c20000) -set(baseaddress_mciwave 0x75bf0000) -set(baseaddress_mgmtapi 0x75bc0000) -set(baseaddress_midimap 0x75b90000) -set(baseaddress_mlang 0x75b50000) -set(baseaddress_mmdrv 0x75b20000) -set(baseaddress_mmsys 0x75a50000) -set(baseaddress_modemui 0x759e0000) -set(baseaddress_mprapi 0x759b0000) -set(baseaddress_msacm32.drv 0x75980000) -set(baseaddress_msadp32.acm 0x75950000) -set(baseaddress_msafd 0x75910000) -set(baseaddress_mscat32 0x758e0000) -set(baseaddress_mscms 0x758b0000) -set(baseaddress_mscoree 0x75860000) -set(baseaddress_msctf 0x75800000) -set(baseaddress_msdmo 0x757d0000) -set(baseaddress_msftedit 0x757a0000) -set(baseaddress_msg711.acm 0x75770000) -set(baseaddress_msgina 0x756d0000) -set(baseaddress_msgsm32.acm 0x756a0000) -set(baseaddress_mshtml 0x75380000) -set(baseaddress_msi 0x751d0000) -set(baseaddress_msimtf 0x751a0000) -set(baseaddress_msisip 0x75170000) -set(baseaddress_msisys 0x75140000) -set(baseaddress_mspatcha 0x75110000) -set(baseaddress_msports 0x750d0000) -set(baseaddress_msrle32 0x750a0000) -set(baseaddress_mssign32 0x75070000) -set(baseaddress_mssip32 0x75040000) -set(baseaddress_mstask 0x75000000) -set(baseaddress_msv1_0 0x74fd0000) -set(baseaddress_msvcrt20 0x74f00000) -set(baseaddress_msvcrt40 0x74e30000) -set(baseaddress_msvcrt_crt_dll_startup 0x74e00000) -set(baseaddress_msvidc32 0x74dd0000) -set(baseaddress_msxml 0x74da0000) -set(baseaddress_msxml2 0x74d70000) -set(baseaddress_msxml3 0x74990000) -set(baseaddress_msxml4 0x74950000) -set(baseaddress_msxml6 0x74910000) -set(baseaddress_mycomput 0x748f0000) -set(baseaddress_ncpa 0x748c0000) -set(baseaddress_nddeapi 0x74890000) -set(baseaddress_netcfgx 0x747f0000) -set(baseaddress_netevent 0x747c0000) -set(baseaddress_netid 0x74770000) -set(baseaddress_netshell 0x746c0000) -set(baseaddress_newdev 0x74660000) -set(baseaddress_nfs41_np 0x74630000) -set(baseaddress_normaliz 0x74600000) -set(baseaddress_notifyhook 0x745d0000) -set(baseaddress_npptools 0x745a0000) -set(baseaddress_ntdll_vista 0x74580000) -set(baseaddress_ntdsapi 0x74550000) -set(baseaddress_ntlanman 0x74520000) -set(baseaddress_ntmarta 0x744f0000) -set(baseaddress_ntobjshex 0x74450000) -set(baseaddress_objsel 0x74420000) -set(baseaddress_odbc32 0x743e0000) -set(baseaddress_odbccp32 0x743b0000) -set(baseaddress_odbccp32i 0x74380000) -set(baseaddress_oleacc 0x742f0000) -set(baseaddress_olecli32 0x742c0000) -set(baseaddress_olepro32 0x74290000) -set(baseaddress_olesvr32 0x74260000) -set(baseaddress_olethk32 0x74230000) -set(baseaddress_openglcfg 0x74200000) -set(baseaddress_pdh 0x741c0000) -set(baseaddress_pidgen 0x74190000) -set(baseaddress_pifmgr 0x74120000) -set(baseaddress_powercfg 0x740c0000) -set(baseaddress_printui 0x74090000) -set(baseaddress_propsys 0x74050000) -set(baseaddress_pstorec 0x74020000) -set(baseaddress_qedit 0x73fd0000) -set(baseaddress_qmgr 0x73f90000) -set(baseaddress_qmgrprxy 0x73f30000) -set(baseaddress_quartz 0x73db0000) -set(baseaddress_query 0x73d80000) -set(baseaddress_rasadhlp 0x73d50000) -set(baseaddress_rasdlg 0x73b80000) -set(baseaddress_rasman 0x73b50000) -set(baseaddress_redirtest1 0x73b20000) -set(baseaddress_redirtest2 0x73af0000) -set(baseaddress_resutils 0x73ac0000) -set(baseaddress_riched32 0x73a90000) -set(baseaddress_rsabase 0x73a70000) -set(baseaddress_rshell 0x739c0000) -set(baseaddress_samsrv 0x73950000) -set(baseaddress_sccbase 0x73920000) -set(baseaddress_schannel 0x738e0000) -set(baseaddress_schedsvc 0x738b0000) -set(baseaddress_scrrun 0x73850000) -set(baseaddress_security 0x73830000) -set(baseaddress_serialui 0x73800000) -set(baseaddress_sfc 0x737d0000) -set(baseaddress_shdoclc 0x73790000) -set(baseaddress_shdocvw 0x73740000) -set(baseaddress_shellbtrfs 0x735e0000) -set(baseaddress_shfolder 0x735c0000) -set(baseaddress_shimgvw 0x73570000) -set(baseaddress_shsvcs 0x73540000) -set(baseaddress_slbcsp 0x73510000) -set(baseaddress_sndblst 0x734e0000) -set(baseaddress_softpub 0x734c0000) -set(baseaddress_srclient 0x73490000) -set(baseaddress_srvsvc 0x73460000) -set(baseaddress_sti 0x73420000) -set(baseaddress_stobject 0x73390000) -set(baseaddress_streamci 0x73360000) -set(baseaddress_sxs 0x73330000) -set(baseaddress_sysdm 0x73240000) -set(baseaddress_syssetup 0x73140000) -set(baseaddress_t2embed 0x73110000) -set(baseaddress_tapi32 0x730d0000) -set(baseaddress_tapiui 0x73050000) -set(baseaddress_telephon 0x73020000) -set(baseaddress_testvdd 0x72ff0000) -set(baseaddress_themeui 0x72fd0000) -set(baseaddress_timedate 0x72f50000) -set(baseaddress_traffic 0x72f20000) -set(baseaddress_twain_32 0x72ef0000) -set(baseaddress_ubtrfs 0x72ec0000) -set(baseaddress_ucdfs 0x72ea0000) -set(baseaddress_uext2 0x72e60000) -set(baseaddress_ufat 0x72e20000) -set(baseaddress_ufatx 0x72e00000) -set(baseaddress_uffs 0x72de0000) -set(baseaddress_umpnpmgr 0x72db0000) -set(baseaddress_untfs 0x72d90000) -set(baseaddress_updspapi 0x72d60000) -set(baseaddress_ureiserfs 0x72d40000) -set(baseaddress_url 0x72d10000) -set(baseaddress_usrmgr 0x72cc0000) -set(baseaddress_vbscript 0x72c10000) -set(baseaddress_vdmdbg 0x72be0000) -set(baseaddress_verifier 0x72bc0000) -set(baseaddress_vfd 0x72b60000) -set(baseaddress_vssapi 0x72b30000) -set(baseaddress_wbemdisp 0x72ae0000) -set(baseaddress_wbemprox 0x72a80000) -set(baseaddress_wdmaud.drv 0x728c0000) -set(baseaddress_win32u 0x72890000) -set(baseaddress_win32u_2k3sp2 0x72860000) -set(baseaddress_win32u_xpsp2 0x72830000) -set(baseaddress_windowscodecs 0x726f0000) -set(baseaddress_windowscodecsext 0x726c0000) -set(baseaddress_wined3dcfg 0x72690000) -set(baseaddress_winemp3.acm 0x72600000) -set(baseaddress_winfax 0x725d0000) -set(baseaddress_wing32 0x725a0000) -set(baseaddress_winhttp 0x72530000) -set(baseaddress_winprint 0x72500000) -set(baseaddress_winscard 0x724d0000) -set(baseaddress_winsta 0x724a0000) -set(baseaddress_wkssvc 0x72470000) -set(baseaddress_wlanapi 0x72440000) -set(baseaddress_wldap32 0x72400000) -set(baseaddress_wlnotify 0x723d0000) -set(baseaddress_wmi 0x723b0000) -set(baseaddress_wmisvc 0x72380000) -set(baseaddress_wmiutils 0x72340000) -set(baseaddress_wmvcore 0x722f0000) -set(baseaddress_wshirda 0x722c0000) -set(baseaddress_wshom 0x72270000) -set(baseaddress_wshtcpip 0x72240000) -set(baseaddress_wsock32 0x72210000) -set(baseaddress_wtsapi32 0x721e0000) -set(baseaddress_wuapi 0x721a0000) -set(baseaddress_wuauserv 0x72170000) -set(baseaddress_xinput1_1 0x72140000) -set(baseaddress_xinput1_2 0x72110000) -set(baseaddress_xinput1_3 0x720e0000) -set(baseaddress_xinput9_1_0 0x720b0000) -set(baseaddress_xmllite 0x72070000) -set(baseaddress_zipfldr 0x71fd0000) +set(baseaddress_dhcpcsvc 0x7c2e0000) +set(baseaddress_dnsapi 0x7c280000) +set(baseaddress_icmp 0x7c250000) +set(baseaddress_iphlpapi 0x7c1f0000) +set(baseaddress_ws2_32 0x7c1a0000) +set(baseaddress_ws2help 0x7c170000) +set(baseaddress_shlwapi 0x7c0b0000) +set(baseaddress_rpcrt4 0x7bfc0000) +set(baseaddress_comctl32 0x7bda0000) +set(baseaddress_ole32 0x7bb40000) +set(baseaddress_winspool 0x7bae0000) +set(baseaddress_winmm 0x7ba20000) +set(baseaddress_comdlg32 0x7b900000) +set(baseaddress_shell32 0x7afe0000) +set(baseaddress_lz32 0x7afc0000) +set(baseaddress_version 0x7af80000) +set(baseaddress_oleaut32 0x7ad60000) +set(baseaddress_setupapi 0x7abd0000) +set(baseaddress_mpr 0x7ab80000) +set(baseaddress_crypt32 0x7aa50000) +set(baseaddress_wininet 0x7a970000) +set(baseaddress_urlmon 0x7a840000) +set(baseaddress_psapi 0x7a810000) +set(baseaddress_imm32 0x7a7d0000) +set(baseaddress_msvfw32 0x7a780000) +set(baseaddress_dbghelp 0x7a6b0000) +set(baseaddress_devmgr 0x7a5c0000) +set(baseaddress_msacm32 0x7a570000) +set(baseaddress_netapi32 0x7a4d0000) +set(baseaddress_powrprof 0x7a4a0000) +set(baseaddress_secur32 0x7a440000) +set(baseaddress_wintrust 0x7a3e0000) +set(baseaddress_avicap32 0x7a3b0000) +set(baseaddress_cabinet 0x7a350000) +set(baseaddress_dsound 0x7a2c0000) +set(baseaddress_glu32 0x7a190000) +set(baseaddress_opengl32 0x7a040000) +set(baseaddress_riched20 0x79f60000) +set(baseaddress_smdll 0x79f40000) +set(baseaddress_userenv 0x79ee0000) +set(baseaddress_uxtheme 0x79e70000) +set(baseaddress_cryptui 0x79db0000) +set(baseaddress_csrsrv 0x79d70000) +set(baseaddress_basesrv 0x79d40000) +set(baseaddress_winsrv 0x79c80000) +set(baseaddress_dplayx 0x79c00000) +set(baseaddress_gdiplus 0x79af0000) +set(baseaddress_msimg32 0x79ac0000) +set(baseaddress_mswsock 0x79a90000) +set(baseaddress_oledlg 0x79a40000) +set(baseaddress_rasapi32 0x79a00000) +set(baseaddress_rsaenh 0x79980000) +set(baseaddress_samlib 0x79940000) +set(baseaddress_sensapi 0x79910000) +set(baseaddress_sfc_os 0x798e0000) +set(baseaddress_snmpapi 0x798b0000) +set(baseaddress_spoolss 0x79870000) +set(baseaddress_usp10 0x797e0000) +set(baseaddress_access 0x79750000) +set(baseaddress_acgenral 0x79730000) +set(baseaddress_aclayers 0x79700000) +set(baseaddress_acledit 0x796d0000) +set(baseaddress_aclui 0x79690000) +set(baseaddress_acppage 0x79610000) +set(baseaddress_activeds 0x795e0000) +set(baseaddress_actxprxy 0x79300000) +set(baseaddress_advapi32_vista 0x792d0000) +set(baseaddress_advpack 0x79290000) +set(baseaddress_amstream 0x79230000) +set(baseaddress_apphelp 0x791e0000) +set(baseaddress_appwiz 0x79160000) +set(baseaddress_atl 0x79110000) +set(baseaddress_atl100 0x790c0000) +set(baseaddress_atl80 0x79070000) +set(baseaddress_authz 0x79040000) +set(baseaddress_avifil32 0x78fb0000) +set(baseaddress_batt 0x78f80000) +set(baseaddress_bcrypt 0x78f50000) +set(baseaddress_beepmidi 0x78f20000) +set(baseaddress_browseui 0x78d70000) +set(baseaddress_bthci 0x78d40000) +set(baseaddress_cards 0x78c80000) +set(baseaddress_cfgmgr32 0x78c50000) +set(baseaddress_clusapi 0x78c10000) +set(baseaddress_cmicpl 0x78bd0000) +set(baseaddress_comcat 0x78ba0000) +set(baseaddress_compstui 0x78b70000) +set(baseaddress_console 0x78b10000) +set(baseaddress_credui 0x78ac0000) +set(baseaddress_crtdll 0x78a50000) +set(baseaddress_cryptdlg 0x78a10000) +set(baseaddress_cryptdll 0x789e0000) +set(baseaddress_cryptext 0x789b0000) +set(baseaddress_cryptnet 0x78970000) +set(baseaddress_d3d8 0x78900000) +set(baseaddress_d3d8thk 0x788e0000) +set(baseaddress_d3d9 0x78860000) +set(baseaddress_d3dcompiler_43 0x78790000) +set(baseaddress_d3drm 0x786e0000) +set(baseaddress_d3dwine 0x78490000) +set(baseaddress_d3dx9_24 0x78460000) +set(baseaddress_d3dx9_25 0x78420000) +set(baseaddress_d3dx9_26 0x783f0000) +set(baseaddress_d3dx9_27 0x783c0000) +set(baseaddress_d3dx9_28 0x78390000) +set(baseaddress_d3dx9_29 0x78360000) +set(baseaddress_d3dx9_30 0x78330000) +set(baseaddress_d3dx9_31 0x78300000) +set(baseaddress_d3dx9_32 0x782d0000) +set(baseaddress_d3dx9_33 0x782a0000) +set(baseaddress_d3dx9_34 0x78270000) +set(baseaddress_d3dx9_35 0x78240000) +set(baseaddress_d3dx9_36 0x78110000) +set(baseaddress_d3dx9_37 0x780e0000) +set(baseaddress_d3dx9_38 0x780b0000) +set(baseaddress_d3dx9_39 0x78080000) +set(baseaddress_d3dx9_40 0x78050000) +set(baseaddress_d3dx9_41 0x78020000) +set(baseaddress_d3dx9_42 0x77ff0000) +set(baseaddress_d3dx9_43 0x77fc0000) +set(baseaddress_d3dxof 0x77f70000) +set(baseaddress_dciman32 0x77f40000) +set(baseaddress_dcomlaunch 0x77f10000) +set(baseaddress_ddraw 0x77e40000) +set(baseaddress_desk 0x77d90000) +set(baseaddress_deskadp 0x77d50000) +set(baseaddress_deskmon 0x77d20000) +set(baseaddress_devcpux 0x77cf0000) +set(baseaddress_devenum 0x77ca0000) +set(baseaddress_dinput 0x77c30000) +set(baseaddress_dinput8 0x77bf0000) +set(baseaddress_dmusic 0x779c0000) +set(baseaddress_dplay 0x77990000) +set(baseaddress_dpnhpast 0x77960000) +set(baseaddress_dxdiagn 0x77910000) +set(baseaddress_dxtn 0x778e0000) +set(baseaddress_esent 0x778a0000) +set(baseaddress_faultrep 0x77870000) +set(baseaddress_fltlib 0x77840000) +set(baseaddress_fmifs 0x77820000) +set(baseaddress_fontext 0x777f0000) +set(baseaddress_fontsub 0x777c0000) +set(baseaddress_framebuf 0x777a0000) +set(baseaddress_framebuf_new 0x77780000) +set(baseaddress_framedyn 0x77730000) +set(baseaddress_genincdata 0x77700000) +set(baseaddress_getuname 0x76c90000) +set(baseaddress_hdwwiz 0x76c10000) +set(baseaddress_hhctrl 0x76bb0000) +set(baseaddress_hid 0x76b80000) +set(baseaddress_hlink 0x76b40000) +set(baseaddress_hnetcfg 0x76af0000) +set(baseaddress_httpapi 0x76ac0000) +set(baseaddress_iccvid 0x76a90000) +set(baseaddress_ieframe 0x769b0000) +set(baseaddress_iernonce 0x76980000) +set(baseaddress_imaadp32.acm 0x76950000) +set(baseaddress_imagehlp 0x76910000) +set(baseaddress_inetcomm 0x768a0000) +set(baseaddress_inetcpl 0x76840000) +set(baseaddress_inetmib1 0x76810000) +set(baseaddress_initpki 0x767e0000) +set(baseaddress_input 0x76770000) +set(baseaddress_inseng 0x76730000) +set(baseaddress_intl 0x766c0000) +set(baseaddress_iologmsg 0x766a0000) +set(baseaddress_itircl 0x76670000) +set(baseaddress_itss 0x76620000) +set(baseaddress_joy 0x765e0000) +set(baseaddress_jscript 0x76460000) +set(baseaddress_jsproxy 0x76430000) +set(baseaddress_kbdeo 0x76410000) +set(baseaddress_kbdrost 0x763f0000) +set(baseaddress_kbsdll 0x763c0000) +set(baseaddress_kernel32_vista 0x763a0000) +set(baseaddress_ksuser 0x76370000) +set(baseaddress_libjpeg 0x762c0000) +set(baseaddress_libpng 0x76210000) +set(baseaddress_libtiff 0x76120000) +set(baseaddress_libtirpc 0x760b0000) +set(baseaddress_libxslt 0x75d70000) +set(baseaddress_loadperf 0x75d40000) +set(baseaddress_localmon 0x75d10000) +set(baseaddress_localspl 0x75cc0000) +set(baseaddress_localui 0x75c90000) +set(baseaddress_lpk 0x75c50000) +set(baseaddress_lsasrv 0x75bd0000) +set(baseaddress_main 0x75b30000) +set(baseaddress_mapi32 0x75ae0000) +set(baseaddress_mbedtls 0x75a20000) +set(baseaddress_mciavi32 0x759e0000) +set(baseaddress_mcicda 0x759b0000) +set(baseaddress_mciqtz32 0x75970000) +set(baseaddress_mciseq 0x75930000) +set(baseaddress_mciwave 0x758f0000) +set(baseaddress_mgmtapi 0x758c0000) +set(baseaddress_midimap 0x75890000) +set(baseaddress_mlang 0x75840000) +set(baseaddress_mmdrv 0x75810000) +set(baseaddress_mmsys 0x75730000) +set(baseaddress_modemui 0x756b0000) +set(baseaddress_mprapi 0x75670000) +set(baseaddress_msacm32.drv 0x75640000) +set(baseaddress_msadp32.acm 0x75610000) +set(baseaddress_msafd 0x755c0000) +set(baseaddress_mscat32 0x75590000) +set(baseaddress_mscms 0x75550000) +set(baseaddress_mscoree 0x754f0000) +set(baseaddress_msctf 0x75490000) +set(baseaddress_msdmo 0x75460000) +set(baseaddress_msftedit 0x75430000) +set(baseaddress_msg711.acm 0x75400000) +set(baseaddress_msgina 0x75350000) +set(baseaddress_msgsm32.acm 0x75320000) +set(baseaddress_mshtml 0x75050000) +set(baseaddress_msi 0x74e70000) +set(baseaddress_msimtf 0x74e40000) +set(baseaddress_msisip 0x74e10000) +set(baseaddress_msisys 0x74de0000) +set(baseaddress_mspatcha 0x74db0000) +set(baseaddress_msports 0x74d70000) +set(baseaddress_msrle32 0x74d30000) +set(baseaddress_mssign32 0x74d00000) +set(baseaddress_mssip32 0x74cd0000) +set(baseaddress_mstask 0x74c90000) +set(baseaddress_msv1_0 0x74c60000) +set(baseaddress_msvcrt20 0x74b60000) +set(baseaddress_msvcrt40 0x74a60000) +set(baseaddress_msvidc32 0x74a30000) +set(baseaddress_msxml 0x74a00000) +set(baseaddress_msxml2 0x749d0000) +set(baseaddress_msxml3 0x74590000) +set(baseaddress_msxml4 0x74550000) +set(baseaddress_msxml6 0x74510000) +set(baseaddress_mycomput 0x744f0000) +set(baseaddress_ncpa 0x744c0000) +set(baseaddress_nddeapi 0x74490000) +set(baseaddress_netcfgx 0x743e0000) +set(baseaddress_netevent 0x743b0000) +set(baseaddress_netid 0x74360000) +set(baseaddress_netmsg 0x741e0000) +set(baseaddress_netplwiz 0x741b0000) +set(baseaddress_netshell 0x740e0000) +set(baseaddress_newdev 0x74080000) +set(baseaddress_nfs41_np 0x74050000) +set(baseaddress_normaliz 0x74020000) +set(baseaddress_npptools 0x73ff0000) +set(baseaddress_ntdll_vista 0x73fd0000) +set(baseaddress_ntdsapi 0x73f90000) +set(baseaddress_ntlanman 0x73f60000) +set(baseaddress_ntmarta 0x73f30000) +set(baseaddress_ntobjshex 0x73e80000) +set(baseaddress_objsel 0x73e50000) +set(baseaddress_odbc32 0x73e00000) +set(baseaddress_odbccp32 0x73dc0000) +set(baseaddress_odbccp32i 0x73d90000) +set(baseaddress_oleacc 0x73cf0000) +set(baseaddress_olecli32 0x73cc0000) +set(baseaddress_olepro32 0x73c90000) +set(baseaddress_olesvr32 0x73c60000) +set(baseaddress_olethk32 0x73c30000) +set(baseaddress_openglcfg 0x73c00000) +set(baseaddress_pdh 0x73bc0000) +set(baseaddress_pidgen 0x73b90000) +set(baseaddress_pifmgr 0x73b20000) +set(baseaddress_powercfg 0x73ac0000) +set(baseaddress_printui 0x73a90000) +set(baseaddress_propsys 0x73a40000) +set(baseaddress_pstorec 0x73a10000) +set(baseaddress_qedit 0x739b0000) +set(baseaddress_qmgr 0x73970000) +set(baseaddress_qmgrprxy 0x738f0000) +set(baseaddress_quartz 0x73720000) +set(baseaddress_query 0x736f0000) +set(baseaddress_rasadhlp 0x736c0000) +set(baseaddress_rasdlg 0x734f0000) +set(baseaddress_rasman 0x734b0000) +set(baseaddress_resutils 0x73480000) +set(baseaddress_riched32 0x73450000) +set(baseaddress_rsabase 0x73430000) +set(baseaddress_samsrv 0x733b0000) +set(baseaddress_sccbase 0x73380000) +set(baseaddress_schannel 0x73340000) +set(baseaddress_schedsvc 0x73310000) +set(baseaddress_scrrun 0x732b0000) +set(baseaddress_security 0x73290000) +set(baseaddress_serialui 0x73260000) +set(baseaddress_sfc 0x73230000) +set(baseaddress_shdoclc 0x731f0000) +set(baseaddress_shdocvw 0x731a0000) +set(baseaddress_shellbtrfs 0x72f60000) +set(baseaddress_shfolder 0x72f40000) +set(baseaddress_shimgvw 0x72ef0000) +set(baseaddress_shsvcs 0x72ec0000) +set(baseaddress_slbcsp 0x72e90000) +set(baseaddress_sndblst 0x72e50000) +set(baseaddress_softpub 0x72e30000) +set(baseaddress_srclient 0x72e00000) +set(baseaddress_srvsvc 0x72dd0000) +set(baseaddress_sti 0x72d90000) +set(baseaddress_stobject 0x72cf0000) +set(baseaddress_streamci 0x72cc0000) +set(baseaddress_sxs 0x72c80000) +set(baseaddress_sysdm 0x72b80000) +set(baseaddress_syssetup 0x72a50000) +set(baseaddress_t2embed 0x72a20000) +set(baseaddress_tapi32 0x729e0000) +set(baseaddress_tapiui 0x72960000) +set(baseaddress_telephon 0x72930000) +set(baseaddress_themeui 0x72910000) +set(baseaddress_timedate 0x72890000) +set(baseaddress_traffic 0x72860000) +set(baseaddress_twain_32 0x72830000) +set(baseaddress_ubtrfs 0x72800000) +set(baseaddress_ucdfs 0x727e0000) +set(baseaddress_uext2 0x727a0000) +set(baseaddress_ufat 0x72760000) +set(baseaddress_ufatx 0x72740000) +set(baseaddress_uffs 0x72720000) +set(baseaddress_umpnpmgr 0x726e0000) +set(baseaddress_untfs 0x726c0000) +set(baseaddress_updspapi 0x72690000) +set(baseaddress_ureiserfs 0x72670000) +set(baseaddress_url 0x72640000) +set(baseaddress_usrmgr 0x725e0000) +set(baseaddress_vbscript 0x72540000) +set(baseaddress_vdmdbg 0x72510000) +set(baseaddress_verifier 0x724f0000) +set(baseaddress_vssapi 0x724b0000) +set(baseaddress_wbemdisp 0x72460000) +set(baseaddress_wbemprox 0x723f0000) +set(baseaddress_wdmaud.drv 0x72220000) +set(baseaddress_windowscodecs 0x720a0000) +set(baseaddress_windowscodecsext 0x72070000) +set(baseaddress_wined3dcfg 0x72040000) +set(baseaddress_winemp3.acm 0x71fa0000) +set(baseaddress_winfax 0x71f70000) +set(baseaddress_wing32 0x71f40000) +set(baseaddress_winhttp 0x71ed0000) +set(baseaddress_winprint 0x71ea0000) +set(baseaddress_winscard 0x71e70000) +set(baseaddress_winsta 0x71e40000) +set(baseaddress_wkssvc 0x71e10000) +set(baseaddress_wlanapi 0x71de0000) +set(baseaddress_wldap32 0x71da0000) +set(baseaddress_wlnotify 0x71d70000) +set(baseaddress_wmi 0x71d50000) +set(baseaddress_wmisvc 0x71d20000) +set(baseaddress_wmiutils 0x71ce0000) +set(baseaddress_wmvcore 0x71c90000) +set(baseaddress_wshirda 0x71c60000) +set(baseaddress_wshom 0x71c10000) +set(baseaddress_wshtcpip 0x71be0000) +set(baseaddress_wsock32 0x71bb0000) +set(baseaddress_wtsapi32 0x71b80000) +set(baseaddress_wuapi 0x71b40000) +set(baseaddress_wuauserv 0x71b10000) +set(baseaddress_xinput1_1 0x71ae0000) +set(baseaddress_xinput1_2 0x71ab0000) +set(baseaddress_xinput1_3 0x71a80000) +set(baseaddress_xinput9_1_0 0x71a50000) +set(baseaddress_xmllite 0x71a00000) +set(baseaddress_xolehlp 0x719d0000) +set(baseaddress_zipfldr 0x71910000) \ No newline at end of file
5 years, 5 months
1
0
0
0
[reactos] 18/21: [NTOSKRNL] Replace overlapping strcopy with memmove
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=3af7cb825fbdc6f515071…
commit 3af7cb825fbdc6f5150710169096367f14bdc451 Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Sun Apr 28 20:23:35 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [NTOSKRNL] Replace overlapping strcopy with memmove Fixes 4 GCC 8 warnings of the kind: ntoskrnl/kdbg/kdb_cli.c:3015:21: error: 'strcpy' accessing 1 byte at offsets 0 and [0, 2147483647] may overlap 1 byte at offset 0 [-Werror=restrict] strcpy(p2, p2 + j); ^~~~~~~~~~~~~~~~~~ --- ntoskrnl/kdbg/kdb_cli.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ntoskrnl/kdbg/kdb_cli.c b/ntoskrnl/kdbg/kdb_cli.c index 32d2fe553a5..e4921e488e9 100644 --- a/ntoskrnl/kdbg/kdb_cli.c +++ b/ntoskrnl/kdbg/kdb_cli.c @@ -2662,15 +2662,16 @@ KdbpPrint( { while ((p2 = strrchr(p, '\x1b'))) /* Look for escape character */ { + size_t len = strlen(p2); if (p2[1] == '[') { j = 2; while (!isalpha(p2[j++])); - strcpy(p2, p2 + j); + memmove(p2, p2 + j, len + 1 - j); } else { - strcpy(p2, p2 + 1); + memmove(p2, p2 + 1, len); } } } @@ -3007,15 +3008,16 @@ KdbpPager( { while ((p2 = strrchr(p, '\x1b'))) /* Look for escape character */ { + size_t len = strlen(p2); if (p2[1] == '[') { j = 2; while (!isalpha(p2[j++])); - strcpy(p2, p2 + j); + memmove(p2, p2 + j, len + 1 - j); } else { - strcpy(p2, p2 + 1); + memmove(p2, p2 + 1, len); } } }
5 years, 5 months
1
0
0
0
[reactos] 17/21: [CRT] Use sprintf_s instead of sprintf
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=95b3eebf71c967f1dc055…
commit 95b3eebf71c967f1dc0554a8dfdbffbf9b1edbb2 Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Sun Apr 28 18:27:22 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [CRT] Use sprintf_s instead of sprintf Fixes GCC 8 warning: sdk/lib/crt/misc/i10output.c:83:25: error: '%d' directive writing between 1 and 11 bytes into a region of size 6 [-Werror=format-overflow=] sprintf(format, "%%.%dle", prec); ^~ sdk/lib/crt/misc/i10output.c:83:21: note: directive argument in the range [-2147483648, 2147483646] sprintf(format, "%%.%dle", prec); ^~~~~~~~~ sdk/lib/crt/misc/i10output.c:83:5: note: 'sprintf' output between 6 and 16 bytes into a destination of size 8 sprintf(format, "%%.%dle", prec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- sdk/lib/crt/misc/i10output.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/lib/crt/misc/i10output.c b/sdk/lib/crt/misc/i10output.c index ba291a73659..85e493594e0 100644 --- a/sdk/lib/crt/misc/i10output.c +++ b/sdk/lib/crt/misc/i10output.c @@ -80,8 +80,8 @@ int CDECL MSVCRT_I10_OUTPUT(_LDOUBLE ld80, int prec, int flag, struct _I10_OUTPU prec = 0; } - sprintf(format, "%%.%dle", prec); - sprintf(buf, format, d); + sprintf_s(format, sizeof(format), "%%.%dle", prec); + sprintf_s(buf, sizeof(buf), format, d); buf[1] = buf[0]; data->pos = atoi(buf+prec+3);
5 years, 5 months
1
0
0
0
[reactos] 16/21: [VFATLIB] Use RtlStringCbPrintfA instead of sprintf
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b275f24406b70ae0d9a9e…
commit b275f24406b70ae0d9a9e9d21b70b8bdcbcc3bce Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Sun Apr 28 20:38:25 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [VFATLIB] Use RtlStringCbPrintfA instead of sprintf Fixes GCC 8 warning: sdk/lib/fslib/vfatlib/check/boot.c:173:27: error: '%02x' directive writing between 2 and 8 bytes into a region of size between 0 and 15 [-Werror=format-overflow=] sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ", ^~~~ sdk/lib/fslib/vfatlib/check/boot.c:173:16: note: directive argument in the range [0, 2147483647] sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ", ^~~~~~~~~~~~~~~~ sdk/lib/fslib/vfatlib/check/boot.c:173:3: note: 'sprintf' output between 8 and 31 bytes into a destination of size 20 sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (unsigned)(p - (uint8_t *) b), *p, *q); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- sdk/lib/fslib/vfatlib/check/boot.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sdk/lib/fslib/vfatlib/check/boot.c b/sdk/lib/fslib/vfatlib/check/boot.c index 2c8681bbce3..5bd1a4657e7 100644 --- a/sdk/lib/fslib/vfatlib/check/boot.c +++ b/sdk/lib/fslib/vfatlib/check/boot.c @@ -26,6 +26,9 @@ * by Roman Hodek <Roman.Hodek(a)informatik.uni-erlangen.de> */ #include "vfatlib.h" +#ifdef __REACTOS__ +#include <ntstrsafe.h> +#endif // __REACTOS__ #define NDEBUG #include <debug.h> @@ -170,7 +173,11 @@ static void check_backup_boot(DOS_FS * fs, struct boot_sector *b, unsigned int l for (p = (uint8_t *) b, q = (uint8_t *) & b2, i = 0; i < sizeof(b2); ++p, ++q, ++i) { if (*p != *q) { +#ifndef __REACTOS__ sprintf(buf, "%s%u:%02x/%02x", first ? "" : ", ", +#else + RtlStringCbPrintfA(buf, sizeof(buf), "%s%u:%02x/%02x", first ? "" : ", ", +#endif // __REACTOS__ (unsigned)(p - (uint8_t *) b), *p, *q); if (pos + strlen(buf) > 78) printf("\n "), pos = 2;
5 years, 5 months
1
0
0
0
[reactos] 15/21: [OLEAUT32] Use snprintf instead of sprintf
by Timo Kreuzer
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ddb56e8cca52c7e7613d1…
commit ddb56e8cca52c7e7613d1648f06e5098dbc2d460 Author: Timo Kreuzer <timo.kreuzer(a)reactos.org> AuthorDate: Sun Apr 28 18:07:51 2019 +0200 Commit: Timo Kreuzer <timo.kreuzer(a)reactos.org> CommitDate: Sat Jul 20 13:56:18 2019 +0200 [OLEAUT32] Use snprintf instead of sprintf Fixes GCC 8 warning: dll/win32/oleaut32/oleaut.c:876:39: error: '%s' directive writing up to 99 bytes into a region of size between 92 and 291 [-Werror=format-overflow=] sprintf(typelibkey, "Typelib\\%s\\%s\\0\\win%u", tlguid, ver, sizeof(void *) == 8 ? 64 : 32); ^~ ~~~ dll/win32/oleaut32/oleaut.c:876:5: note: 'sprintf' output between 18 and 316 bytes into a destination of size 300 sprintf(typelibkey, "Typelib\\%s\\%s\\0\\win%u", tlguid, ver, sizeof(void *) == 8 ? 64 : 32); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --- dll/win32/oleaut32/oleaut.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dll/win32/oleaut32/oleaut.c b/dll/win32/oleaut32/oleaut.c index 8c5d68fee29..ae76d245d24 100644 --- a/dll/win32/oleaut32/oleaut.c +++ b/dll/win32/oleaut32/oleaut.c @@ -873,7 +873,11 @@ static HRESULT reg_get_typelib_module(REFIID iid, WCHAR *module, DWORD len) RegCloseKey(ikey); +#ifndef __REACTOS__ sprintf(typelibkey, "Typelib\\%s\\%s\\0\\win%u", tlguid, ver, sizeof(void *) == 8 ? 64 : 32); +#else + snprintf(typelibkey, sizeof(typelibkey), "Typelib\\%s\\%s\\0\\win%u", tlguid, ver, sizeof(void *) == 8 ? 64 : 32); +#endif // __REACTOS__ tlfnlen = sizeof(tlfn); if (RegQueryValueA(HKEY_CLASSES_ROOT, typelibkey, tlfn, &tlfnlen)) {
5 years, 5 months
1
0
0
0
← Newer
1
...
4
5
6
7
8
9
10
...
15
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Results per page:
10
25
50
100
200