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
[gadamopoulos] 51323: [shell32] - Properly arrange icons in explorer shell view window. This also fixes navigating in files with keyboard arrows
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Tue Apr 12 20:59:50 2011 New Revision: 51323 URL:
http://svn.reactos.org/svn/reactos?rev=51323&view=rev
Log: [shell32] - Properly arrange icons in explorer shell view window. This also fixes navigating in files with keyboard arrows Modified: trunk/reactos/dll/win32/shell32/shlview.c Modified: trunk/reactos/dll/win32/shell32/shlview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shlview.…
============================================================================== --- trunk/reactos/dll/win32/shell32/shlview.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shlview.c [iso-8859-1] Tue Apr 12 20:59:50 2011 @@ -282,8 +282,13 @@ TRACE("%p\n",This); dwStyle = WS_TABSTOP | WS_VISIBLE | WS_CHILDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | - LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_ALIGNLEFT | LVS_AUTOARRANGE; + LVS_SHAREIMAGELISTS | LVS_EDITLABELS | LVS_AUTOARRANGE; dwExStyle = WS_EX_CLIENTEDGE; + + if (This->FolderSettings.fFlags & FWF_DESKTOP) + dwStyle |= LVS_ALIGNLEFT; + else + dwStyle |= LVS_ALIGNTOP; switch (This->FolderSettings.ViewMode) {
13 years, 8 months
1
0
0
0
[rharabien] 51322: [SHELL32] * Return 1 in WM_ERASEBKGND when desktop is painted * Fix background for desktop icons and their labels * Moreover fixes explorer_new background
by rharabien@svn.reactos.org
Author: rharabien Date: Tue Apr 12 18:45:06 2011 New Revision: 51322 URL:
http://svn.reactos.org/svn/reactos?rev=51322&view=rev
Log: [SHELL32] * Return 1 in WM_ERASEBKGND when desktop is painted * Fix background for desktop icons and their labels * Moreover fixes explorer_new background Modified: trunk/reactos/dll/win32/shell32/desktop.c trunk/reactos/dll/win32/shell32/shlview.c Modified: trunk/reactos/dll/win32/shell32/desktop.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/desktop.…
============================================================================== --- trunk/reactos/dll/win32/shell32/desktop.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/desktop.c [iso-8859-1] Tue Apr 12 18:45:06 2011 @@ -586,8 +586,7 @@ switch (uMsg) { case WM_ERASEBKGND: - PaintDesktop((HDC)wParam); - break; + return (LRESULT)PaintDesktop((HDC)wParam); case WM_GETISHELLBROWSER: Ret = (LRESULT)IShellBrowser_from_impl(This); Modified: trunk/reactos/dll/win32/shell32/shlview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shlview.…
============================================================================== --- trunk/reactos/dll/win32/shell32/shlview.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shlview.c [iso-8859-1] Tue Apr 12 18:45:06 2011 @@ -324,8 +324,11 @@ * HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ListviewShadow * and activate drop shadows if necessary */ - if (0) + if (1) + { SendMessageW(This->hWndList, LVM_SETTEXTBKCOLOR, 0, CLR_NONE); + SendMessageW(This->hWndList, LVM_SETBKCOLOR, 0, CLR_NONE); + } else { SendMessageW(This->hWndList, LVM_SETTEXTBKCOLOR, 0, GetSysColor(COLOR_DESKTOP)); @@ -1833,7 +1836,7 @@ case WM_SHOWWINDOW: UpdateWindow(pThis->hWndList); break; - case WM_GETDLGCODE: return SendMessageA(pThis->hWndList,uMessage,0,0); + case WM_GETDLGCODE: return SendMessageW(pThis->hWndList,uMessage,0,0); case WM_DESTROY: RevokeDragDrop(pThis->hWnd); @@ -1843,7 +1846,7 @@ case WM_ERASEBKGND: if ((pThis->FolderSettings.fFlags & FWF_DESKTOP) || (pThis->FolderSettings.fFlags & FWF_TRANSPARENT)) - return 1; + return SendMessageW(pThis->hWndParent, WM_ERASEBKGND, wParam, lParam); /* redirect to parent */ break; case CWM_GETISHELLBROWSER: return (LRESULT)pThis->pShellBrowser;
13 years, 8 months
1
0
0
0
[rharabien] 51321: [COMCTL32] * Sync listview to Wine 1.3.17 * Set background and text color before calling DrawFocusRect. Those colors are used by monochrome brush during painting. Tested this fun...
by rharabien@svn.reactos.org
Author: rharabien Date: Tue Apr 12 18:38:38 2011 New Revision: 51321 URL:
http://svn.reactos.org/svn/reactos?rev=51321&view=rev
Log: [COMCTL32] * Sync listview to Wine 1.3.17 * Set background and text color before calling DrawFocusRect. Those colors are used by monochrome brush during painting. Tested this function in Windows and our implementation is correct. Wine has DrawFocusRect not correctly implemented and that's why they don't see this bug. Should be sent to wine (tm). Modified: trunk/reactos/dll/win32/comctl32/comctl32_ros.diff trunk/reactos/dll/win32/comctl32/listview.c Modified: trunk/reactos/dll/win32/comctl32/comctl32_ros.diff URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
============================================================================== --- trunk/reactos/dll/win32/comctl32/comctl32_ros.diff [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/comctl32_ros.diff [iso-8859-1] Tue Apr 12 18:38:38 2011 @@ -139,3 +139,41 @@ if (infoPtr->cdmode & CDRF_NOTIFYPOSTPAINT) infoPtr->cdmode = +Index: listview.c +=================================================================== +--- listview.c (revision 51320) ++++ listview.c (working copy) +@@ -1634,8 +1635,19 @@ + /* used to handle collapse main item column case */ + static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc) + { +- return (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ? +- DrawFocusRect(hdc, &infoPtr->rcFocus) : FALSE; ++ BOOL Ret = FALSE; ++ ++ if (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ++ { ++ DWORD dwOldBkColor, dwOldTextColor; ++ ++ dwOldBkColor = SetBkColor(hdc, RGB(255, 255, 255)); ++ dwOldTextColor = SetBkColor(hdc, RGB(0, 0, 0)); ++ Ret = DrawFocusRect(hdc, &infoPtr->rcFocus); ++ SetBkColor(hdc, dwOldBkColor); ++ SetBkColor(hdc, dwOldTextColor); ++ } ++ return Ret; + } + + /* Listview invalidation functions: use _only_ these functions to invalidate */ +@@ -5041,7 +5053,11 @@ + + /* Draw marquee rectangle if appropriate */ + if (infoPtr->bMarqueeSelect) ++ { ++ SetBkColor(hdc, RGB(255, 255, 255)); ++ SetTextColor(hdc, RGB(0, 0, 0)); + DrawFocusRect(hdc, &infoPtr->marqueeDrawRect); ++ } + + if (cdmode & CDRF_NOTIFYPOSTPAINT) + notify_postpaint(infoPtr, &nmlvcd); Modified: trunk/reactos/dll/win32/comctl32/listview.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/listvie…
============================================================================== --- trunk/reactos/dll/win32/comctl32/listview.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/comctl32/listview.c [iso-8859-1] Tue Apr 12 18:38:38 2011 @@ -360,7 +360,7 @@ #define SB_INTERNAL -1 /* maximum size of a label */ -#define DISP_TEXT_SIZE 512 +#define DISP_TEXT_SIZE 260 /* padding for items in list and small icon display modes */ #define WIDTH_PADDING 12 @@ -543,7 +543,7 @@ static inline int textcmpWT(LPCWSTR aw, LPCWSTR bt, BOOL isW) { if (!aw) return bt ? -1 : 0; - if (!bt) return aw ? 1 : 0; + if (!bt) return 1; if (aw == LPSTR_TEXTCALLBACKW) return bt == LPSTR_TEXTCALLBACKW ? 1 : -1; if (bt != LPSTR_TEXTCALLBACKW) @@ -865,6 +865,7 @@ item.mask = LVIF_PARAM|LVIF_STATE; item.iItem = htInfo->iItem; item.iSubItem = 0; + item.stateMask = (UINT)-1; if (LISTVIEW_GetItemT(infoPtr, &item, TRUE)) { nmia.lParam = item.lParam; nmia.uOldState = item.state; @@ -1634,8 +1635,19 @@ /* used to handle collapse main item column case */ static inline BOOL LISTVIEW_DrawFocusRect(const LISTVIEW_INFO *infoPtr, HDC hdc) { - return (infoPtr->rcFocus.left < infoPtr->rcFocus.right) ? - DrawFocusRect(hdc, &infoPtr->rcFocus) : FALSE; + BOOL Ret = FALSE; + + if (infoPtr->rcFocus.left < infoPtr->rcFocus.right) + { + DWORD dwOldBkColor, dwOldTextColor; + + dwOldBkColor = SetBkColor(hdc, RGB(255, 255, 255)); + dwOldTextColor = SetBkColor(hdc, RGB(0, 0, 0)); + Ret = DrawFocusRect(hdc, &infoPtr->rcFocus); + SetBkColor(hdc, dwOldBkColor); + SetBkColor(hdc, dwOldTextColor); + } + return Ret; } /* Listview invalidation functions: use _only_ these functions to invalidate */ @@ -5041,7 +5053,11 @@ /* Draw marquee rectangle if appropriate */ if (infoPtr->bMarqueeSelect) + { + SetBkColor(hdc, RGB(255, 255, 255)); + SetTextColor(hdc, RGB(0, 0, 0)); DrawFocusRect(hdc, &infoPtr->marqueeDrawRect); + } if (cdmode & CDRF_NOTIFYPOSTPAINT) notify_postpaint(infoPtr, &nmlvcd); @@ -5878,6 +5894,7 @@ SetWindowLongPtrA(hedit, GWLP_WNDPROC, (DWORD_PTR)EditLblWndProcA) ); SendMessageW(hedit, WM_SETFONT, (WPARAM)infoPtr->hFont, FALSE); + SendMessageW(hedit, EM_SETLIMITTEXT, DISP_TEXT_SIZE-1, 0); return hedit; } @@ -6743,7 +6760,7 @@ pszText = lpLVItem->pszText; bResult = LISTVIEW_GetItemT(infoPtr, lpLVItem, isW); - if (bResult && lpLVItem->pszText != pszText) + if (bResult && (lpLVItem->mask & LVIF_TEXT) && lpLVItem->pszText != pszText) { if (lpLVItem->pszText != LPSTR_TEXTCALLBACKW) textcpynT(pszText, isW, lpLVItem->pszText, isW, lpLVItem->cchTextMax);
13 years, 8 months
1
0
0
0
[ekohl] 51320: [NPFS] PATCH: Arty's fixes based on CMake branch testing. Just the NPFS code. See issue #6103 for more details.
by ekohl@svn.reactos.org
Author: ekohl Date: Mon Apr 11 17:52:06 2011 New Revision: 51320 URL:
http://svn.reactos.org/svn/reactos?rev=51320&view=rev
Log: [NPFS] PATCH: Arty's fixes based on CMake branch testing. Just the NPFS code. See issue #6103 for more details. Modified: trunk/reactos/drivers/filesystems/npfs/create.c Modified: trunk/reactos/drivers/filesystems/npfs/create.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/npfs/c…
============================================================================== --- trunk/reactos/drivers/filesystems/npfs/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/npfs/create.c [iso-8859-1] Mon Apr 11 17:52:06 2011 @@ -937,10 +937,10 @@ if (IsListEmpty(&Fcb->ServerCcbListHead) && IsListEmpty(&Fcb->ClientCcbListHead)) { - RtlFreeUnicodeString(&Fcb->PipeName); KeLockMutex(&Vcb->PipeListLock); RemoveEntryList(&Fcb->PipeListEntry); KeUnlockMutex(&Vcb->PipeListLock); + RtlFreeUnicodeString(&Fcb->PipeName); ExFreePool(Fcb); FileObject->FsContext = NULL; }
13 years, 8 months
1
0
0
0
[fireball] 51319: [RAPPS] - Swedish translation by Jan Blomqvist-Kinander.
by fireball@svn.reactos.org
Author: fireball Date: Mon Apr 11 17:36:44 2011 New Revision: 51319 URL:
http://svn.reactos.org/svn/reactos?rev=51319&view=rev
Log: [RAPPS] - Swedish translation by Jan Blomqvist-Kinander. Added: trunk/reactos/base/applications/rapps/lang/sv-SE.rc (with props) Modified: trunk/reactos/base/applications/rapps/rsrc.rc Added: trunk/reactos/base/applications/rapps/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/la…
============================================================================== --- trunk/reactos/base/applications/rapps/lang/sv-SE.rc (added) +++ trunk/reactos/base/applications/rapps/lang/sv-SE.rc [iso-8859-1] Mon Apr 11 17:36:44 2011 @@ -1,0 +1,199 @@ +/* + * PROJECT: ReactOS RAPPS + * FILE: \base\applications\rapps\lang\sv-SE.rc + * PURPOSE: Swedish resource file + * Translation: Jaix Bly + */ +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +IDR_MAINMENU MENU +BEGIN + POPUP "&Arkiv" + BEGIN + MENUITEM "&Inställningar", ID_SETTINGS + MENUITEM SEPARATOR + MENUITEM "A&vsluta", ID_EXIT + END + POPUP "&Program" + BEGIN + MENUITEM "&Installera", ID_INSTALL + MENUITEM "&Avinstallera",ID_UNINSTALL + MENUITEM "&Ändra", ID_MODIFY + MENUITEM SEPARATOR + MENUITEM "&Ta bort från Registret", ID_REGREMOVE + MENUITEM SEPARATOR + MENUITEM "&Uppdatere", ID_REFRESH + END + POPUP "Hjälp" + BEGIN + MENUITEM "Hjälp", ID_HELP, GRAYED + MENUITEM "Om...", ID_ABOUT + END +END + +IDR_LINKMENU MENU +BEGIN + POPUP "popup" + BEGIN + MENUITEM "&Öppne länk i webläsare", ID_OPEN_LINK + MENUITEM "&Kopier länk till urklipp", ID_COPY_LINK + END +END + +IDR_APPLICATIONMENU MENU +BEGIN + POPUP "popup" + BEGIN + MENUITEM "&Installera", ID_INSTALL + MENUITEM "&Avinstallera", ID_UNINSTALL + MENUITEM "&Ändre", ID_MODIFY + MENUITEM SEPARATOR + MENUITEM "&Ta bort från Registret", ID_REGREMOVE + MENUITEM SEPARATOR + MENUITEM "&Uppdatera", ID_REFRESH + END +END + +IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 250, 144 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Inställningar" +FONT 8, "MS Shell Dlg" +BEGIN + GROUPBOX "Allmänna", -1, 4, 2, 240, 61 + AUTOCHECKBOX "&Spara fönster position", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12 + AUTOCHECKBOX "&Uppdatera listan med tillgängliga program vid start", IDC_UPDATE_AVLIST, 15, 29, 219, 12 + AUTOCHECKBOX "&Logga ur installation och borttagning program", IDC_LOG_ENABLED, 15, 46, 219, 12 + + GROUPBOX "Nerladding", -1, 4, 65, 240, 51 + LTEXT "Mapp för nerladdningar:", -1, 16, 75, 100, 9 + EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP + PUSHBUTTON "&Välj", IDC_CHOOSE, 187, 85, 50, 14 + AUTOCHECKBOX "&Ta bort programms installerare efter installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12 + + PUSHBUTTON "Förinställd", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14 + PUSHBUTTON "OK", IDOK, 116, 124, 60, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 181, 124, 60, 14 +END + +IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 216, 97 +STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU +CAPTION "Programinstallation" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35 + + AUTORADIOBUTTON "&Installera från disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP + AUTORADIOBUTTON "&Ladda ner och installera", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP + + PUSHBUTTON "OK", IDOK, 86, 78, 60, 14 + PUSHBUTTON "Avbryt", IDCANCEL, 150, 78, 60, 14 +END + +IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76 +STYLE DS_SHELLFONT | DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE +CAPTION "Ladda ner..." +FONT 8, "MS Shell Dlg" +BEGIN + CONTROL "Progress1", IDC_DOWNLOAD_PROGRESS, "msctls_progress32", WS_BORDER | PBS_SMOOTH, 10, 10, 200, 12 + LTEXT "", IDC_DOWNLOAD_STATUS, 10, 30, 200, 10, SS_CENTER + PUSHBUTTON "Avbryt", IDCANCEL, 85, 58, 50, 15, WS_GROUP | WS_TABSTOP +END + +IDD_ABOUT_DIALOG DIALOGEX 22, 16, 190, 66 +STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME +CAPTION "Om" +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "ReactOS Programhanterare\nCopyright (C) 2009\nav Dmitry Chapyshev (dmitry(a)reactos.org)", IDC_STATIC, 48, 7, 130, 39 + PUSHBUTTON "Stäng", IDOK, 133, 46, 50, 14 + ICON IDI_MAIN, IDC_STATIC, 10, 10, 7, 30 +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_TOOLTIP_INSTALL "Installera" + IDS_TOOLTIP_UNINSTALL "Avinstallera" + IDS_TOOLTIP_MODIFY "Redigera" + IDS_TOOLTIP_SETTINGS "Inställingar" + IDS_TOOLTIP_REFRESH "Uppdatera" + IDS_TOOLTIP_EXIT "Avsluta" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_APP_NAME "Namn" + IDS_APP_INST_VERSION "Version" + IDS_APP_DESCRIPTION "Beskrivning" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_INFO_VERSION "\nVersion: " + IDS_INFO_DESCRIPTION "\nBeskrivning: " + IDS_INFO_PUBLISHER "\nUtgivare: " + IDS_INFO_HELPLINK "\nHjälplänk: " + IDS_INFO_HELPPHONE "\nHjälptelefon: " + IDS_INFO_README "\nLäs mig: " + IDS_INFO_REGOWNER "\nRegistrerad ägare: " + IDS_INFO_PRODUCTID "\nProdukt ID: " + IDS_INFO_CONTACT "\nKontakt: " + IDS_INFO_UPDATEINFO "\nUppdaterinsinformation: " + IDS_INFO_INFOABOUT "\nInformation om: " + IDS_INFO_COMMENTS "\nKommentarer: " + IDS_INFO_INSTLOCATION "\nInstallationsplacering: " + IDS_INFO_INSTALLSRC "\nInstallationskälla: " + IDS_INFO_UNINSTALLSTR "\nAvinstallationssträng: " + IDS_INFO_MODIFYPATH "\nÄndra sökväg: " + IDS_INFO_INSTALLDATE "\nInstallationsdatum: " +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_AINFO_VERSION "\nVersion: " + IDS_AINFO_DESCRIPTION "\nBeskrivning: " + IDS_AINFO_SIZE "\nStorlek: " + IDS_AINFO_URLSITE "\nHemsida: " + IDS_AINFO_LICENCE "\nLicens: " +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_CAT_AUDIO "Audio" + IDS_CAT_DEVEL "Utveckling" + IDS_CAT_DRIVERS "Drivrutiner" + IDS_CAT_EDU "Edutainment" + IDS_CAT_ENGINEER "Engineering" + IDS_CAT_FINANCE "Finans" + IDS_CAT_GAMES "Spel & kul" + IDS_CAT_GRAPHICS "Grafik" + IDS_CAT_INTERNET "Internet & Nätverk" + IDS_CAT_LIBS "Bibliotek" + IDS_CAT_OFFICE "Kontor" + IDS_CAT_OTHER "Annat" + IDS_CAT_SCIENCE "Vetenskap" + IDS_CAT_TOOLS "Verktyg" + IDS_CAT_VIDEO "Video" +END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_APPTITLE "ReactOS programhanterare" + IDS_SEARCH_TEXT "Sök..." + IDS_INSTALL "Installera" + IDS_UNINSTALL "Avinstallera" + IDS_MODIFY "Ändra" + IDS_APPS_COUNT "Programantal: %d" + IDS_WELCOME_TITLE "Välkommen till ReactOS programhanterare!\n\n" + IDS_WELCOME_TEXT "Välj en kategori till vänstre, och sedan ett program för att installera eller avinstallera.\nReactOS Web sida: " + IDS_WELCOME_URL "
http://www.reactos.org
" + IDS_INSTALLED "Installerat" + IDS_AVAILABLEFORINST "Tillgängliga for installation" + IDS_UPDATES "Uppdateringar" + IDS_APPLICATIONS "Program" + IDS_CHOOSE_FOLDER_TEXT "Välj en mapp som kommer att användas för nerladdning av program:" + IDS_CHOOSE_FOLDER_ERROR "Du har specificrat en obefintlig mapp!" + IDS_USER_NOT_ADMIN "Du måste vara administratör för att starta ""ReactOS programhanterare""!" + IDS_APP_REG_REMOVE "Är du säker på att du vill ta bort data det installerade programmets data från registret?" + IDS_INFORMATION "Information" + IDS_UNABLE_TO_REMOVE "Det gick ej att ta bort programmets data från registret!" +END Propchange: trunk/reactos/base/applications/rapps/lang/sv-SE.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/base/applications/rapps/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/rapps/rs…
============================================================================== --- trunk/reactos/base/applications/rapps/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/rapps/rsrc.rc [iso-8859-1] Mon Apr 11 17:36:44 2011 @@ -10,4 +10,5 @@ #include "lang/pl-PL.rc" #include "lang/ru-RU.rc" #include "lang/sk-SK.rc" +#include "lang/sv-SE.rc" #include "lang/uk-UA.rc"
13 years, 8 months
1
0
0
0
[fireball] 51318: [WIN32CSR] - Swedish translation by Jan Blomqvist-Kinander.
by fireball@svn.reactos.org
Author: fireball Date: Mon Apr 11 17:03:20 2011 New Revision: 51318 URL:
http://svn.reactos.org/svn/reactos?rev=51318&view=rev
Log: [WIN32CSR] - Swedish translation by Jan Blomqvist-Kinander. Added: trunk/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc (with props) Modified: trunk/reactos/subsystems/win32/csrss/win32csr/rsrc.rc Added: trunk/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win…
============================================================================== --- trunk/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc (added) +++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc [iso-8859-1] Mon Apr 11 17:03:20 2011 @@ -1,0 +1,63 @@ +/* + * PROJECT: ReactOS CSRSS subsystem + * FILE: subsystems/win32/csrss/win32csr/lang/sv-SE.rc + * PURPOSE: Swedish resource file + * Translation: Jaix Bly + */ + +LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL + +IDD_END_NOW DIALOGEX DISCARDABLE 0, 0, 200, 95 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "End Program - " +FONT 8, "MS Shell Dlg" +BEGIN + LTEXT "Avsluta Program... Var vänlig vänta",IDC_STATIC,7,7,186,11 + CONTROL "Progress",IDC_PROGRESS,"msctls_progress32",WS_BORDER, + 7,20,186,13 + LTEXT "Om du väljer att avsluta programmet omedelbart kommer du att förlora all osparad data. För att avsluta programmet, klicka Avsluta nu.", + IDC_STATIC,7,40,186,26 + DEFPUSHBUTTON "&Avsluta Nu",IDC_END_NOW,150,71,43,17 +END + +IDD_NOT_RESPONDING DIALOGEX DISCARDABLE 0, 0, 192, 122 +STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Avsluta Program - " +FONT 8, "MS Shell Dlg" +BEGIN + DEFPUSHBUTTON "Avbryt",IDCANCEL,142,98,43,17 + PUSHBUTTON "&Avsluta Nu",IDC_END_NOW,78,98,43,17 + LTEXT "Detta programmet svarar inte",IDC_STATIC,7,7,178,8 + LTEXT "För att återgå till ReactOS och undersöka programmets status klicka Avbryt", + IDC_STATIC,7,26,178,16 + LTEXT "m du väljer att avsluta programmet omedelbart kommer du att förlora all osparad data. För att avsluta programmet, klicka Avsluta nu.", + IDC_STATIC,7,53,178,26 +END + +IDD_SWITCH_APP DIALOGEX 90, 90, 265, 170 +STYLE DS_SYSMODAL | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE +EXSTYLE WS_EX_TOPMOST | WS_EX_WINDOWEDGE +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + LTEXT "",IDC_STATIC_CUR_APP,39,139,204,16,SS_SUNKEN,WS_EX_STATICEDGE +END + +STRINGTABLE +BEGIN + IDS_EDIT "Redigera" + IDS_MARK "Markera" + IDS_COPY "Kopiera\tEnter" + IDS_PASTE "Klistra in" + IDS_SELECTALL "Markera Allt" + IDS_SCROLL "Skrolla" + IDS_FIND "Sök..." + IDS_DEFAULTS "Ursprunglig" + IDS_PROPERTIES "Egenskaper" + IDS_SCROLLHERE "Skrolla hit" + IDS_SCROLLTOP "Skrolla till topp" + IDS_SCROLLBOTTOM "Skrolla till botten" + IDS_SCROLLPAGE_UP "Sida upp" + IDS_SCROLLPAGE_DOWN "Sida ner" + IDS_SCROLLUP "Skrolla upp" + IDS_SCROLLDOWN "Skrolla ner" +END Propchange: trunk/reactos/subsystems/win32/csrss/win32csr/lang/sv-SE.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/subsystems/win32/csrss/win32csr/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win…
============================================================================== --- trunk/reactos/subsystems/win32/csrss/win32csr/rsrc.rc [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/csrss/win32csr/rsrc.rc [iso-8859-1] Mon Apr 11 17:03:20 2011 @@ -18,6 +18,7 @@ #include "lang/pl-PL.rc" #include "lang/ru-RU.rc" #include "lang/sk-SK.rc" +#include "lang/sv-SE.rc" #include "lang/uk-UA.rc" #include "lang/zh-CN.rc" #include "lang/zh-TW.rc"
13 years, 8 months
1
0
0
0
[ilardig] 51317: [SNDVOL32] Italian and Spanish translation updates.
by ilardig@svn.reactos.org
Author: ilardig Date: Mon Apr 11 12:26:16 2011 New Revision: 51317 URL:
http://svn.reactos.org/svn/reactos?rev=51317&view=rev
Log: [SNDVOL32] Italian and Spanish translation updates. Modified: trunk/reactos/base/applications/sndvol32/lang/es-ES.rc trunk/reactos/base/applications/sndvol32/lang/it-IT.rc Modified: trunk/reactos/base/applications/sndvol32/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sndvol32…
============================================================================== --- trunk/reactos/base/applications/sndvol32/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/sndvol32/lang/es-ES.rc [iso-8859-1] Mon Apr 11 12:26:16 2011 @@ -53,9 +53,9 @@ LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 LTEXT "Balance", -1, 4, 35, 80, 42 - LTEXT "Volume", -1, 4, 100, 77, 108 + LTEXT "Volumen", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CHECKBOX "&Silencio", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END Modified: trunk/reactos/base/applications/sndvol32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sndvol32…
============================================================================== --- trunk/reactos/base/applications/sndvol32/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/sndvol32/lang/it-IT.rc [iso-8859-1] Mon Apr 11 12:26:16 2011 @@ -48,10 +48,10 @@ BEGIN LTEXT "Master", IDC_LINE_NAME, 4, 7, 100, 15 CONTROL "", -1, "static", SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 4, 30, 82, 1 - LTEXT "Balance", -1, 4, 35, 80, 42 + LTEXT "Bilanciamento", -1, 4, 35, 80, 42 LTEXT "Volume", -1, 4, 100, 77, 108 CONTROL "", IDC_LINE_SLIDER_HORZ, "msctls_trackbar32", TBS_HORZ | TBS_AUTOTICKS | TBS_BOTH | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 25, 55, 85, 30 CONTROL "", IDC_LINE_SLIDER_VERT, "msctls_trackbar32", TBS_VERT | TBS_AUTOTICKS | TBS_BOTH | TBS_DOWNISLEFT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 32, 115, 30, 70 - CHECKBOX "&Mute", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX + CHECKBOX "&Disattiva", IDC_LINE_SWITCH, 4, 190, 90, 12, BS_AUTOCHECKBOX CONTROL "", IDC_LINE_SEP, "static", SS_ETCHEDVERT | WS_CHILD | WS_VISIBLE, 130, 7, 1, 200 END
13 years, 8 months
1
0
0
0
[ilardig] 51316: [WIN32CSR] Italian translation of command prompt's window title
by ilardig@svn.reactos.org
Author: ilardig Date: Mon Apr 11 10:56:45 2011 New Revision: 51316 URL:
http://svn.reactos.org/svn/reactos?rev=51316&view=rev
Log: [WIN32CSR] Italian translation of command prompt's window title Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc Modified: trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win…
============================================================================== --- trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/csrss/win32csr/lang/it-IT.rc [iso-8859-1] Mon Apr 11 10:56:45 2011 @@ -63,5 +63,5 @@ IDS_SCROLLUP "Scorri sù" IDS_SCROLLDOWN "Scorri giù" - IDS_COMMAND_PROMPT "Command Prompt" + IDS_COMMAND_PROMPT "Prompt dei commandi" END
13 years, 8 months
1
0
0
0
[jimtabor] 51315: [Win32k] - PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Mon Apr 11 03:24:14 2011 New Revision: 51315 URL:
http://svn.reactos.org/svn/reactos?rev=51315&view=rev
Log: [Win32k] - PATCH: Arty's fixes based on CMake branch testing. Just the timer code. See bug 6103. Modified: trunk/reactos/subsystems/win32/win32k/ntuser/timer.c Modified: trunk/reactos/subsystems/win32/win32k/ntuser/timer.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/timer.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/timer.c [iso-8859-1] Mon Apr 11 03:24:14 2011 @@ -107,10 +107,11 @@ UINT_PTR nID, UINT flags) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr, RetTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -134,10 +135,11 @@ FASTCALL FindSystemTimer(PMSG pMsg) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr = NULL; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -158,11 +160,12 @@ ValidateTimerCallback(PTHREADINFO pti, LPARAM lParam) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; BOOL Ret = FALSE; PTIMER pTmr; TimerEnterExclusive(); + pLE = TimersListHead.Flink; while (pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -389,7 +392,7 @@ FASTCALL PostTimerMessages(PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PUSER_MESSAGE_QUEUE ThreadQueue; MSG Msg; PTHREADINFO pti; @@ -400,7 +403,7 @@ ThreadQueue = pti->MessageQueue; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -441,12 +444,12 @@ { LARGE_INTEGER TickCount, DueTime; LONG Time; - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; LONG TimerCount = 0; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; KeQueryTickCount(&TickCount); Time = MsqCalculateMessageTime(&TickCount); @@ -515,7 +518,7 @@ BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window) { - PLIST_ENTRY pLE = TimersListHead.Flink; + PLIST_ENTRY pLE; PTIMER pTmr; BOOL TimersRemoved = FALSE; @@ -523,7 +526,7 @@ return FALSE; TimerEnterExclusive(); - + pLE = TimersListHead.Flink; while(pLE != &TimersListHead) { pTmr = CONTAINING_RECORD(pLE, TIMER, ptmrList); @@ -570,14 +573,14 @@ DPRINT("IntKillTimer Window %x id %p systemtimer %s\n", Window, IDEvent, SystemTimer ? "TRUE" : "FALSE"); + TimerEnterExclusive(); pTmr = FindTimer(Window, IDEvent, SystemTimer ? TMRF_SYSTEM : 0); if (pTmr) { - TimerEnterExclusive(); RemoveTimer(pTmr); - TimerLeave(); } + TimerLeave(); return pTmr ? TRUE : FALSE; }
13 years, 8 months
1
0
0
0
[rharabien] 51314: [ADVAPI32] * Copy RegQueryValueExA from Wine. Fixes 24 winetests fails which appeared after r51222. They are caused by calling RegQueryValueExA with buffer size set to large valu...
by rharabien@svn.reactos.org
Author: rharabien Date: Sun Apr 10 21:24:49 2011 New Revision: 51314 URL:
http://svn.reactos.org/svn/reactos?rev=51314&view=rev
Log: [ADVAPI32] * Copy RegQueryValueExA from Wine. Fixes 24 winetests fails which appeared after r51222. They are caused by calling RegQueryValueExA with buffer size set to large value. Old implementation was allocating new buffer with specified size (it was failing) and using unicode function. New implementation use given buffer size only when coping data. See issue #6105 for more details. Modified: trunk/reactos/dll/win32/advapi32/reg/reg.c Modified: trunk/reactos/dll/win32/advapi32/reg/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/advapi32/reg/reg…
============================================================================== --- trunk/reactos/dll/win32/advapi32/reg/reg.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/advapi32/reg/reg.c [iso-8859-1] Sun Apr 10 21:24:49 2011 @@ -3974,128 +3974,127 @@ } -/************************************************************************ - * RegQueryValueExA - * - * @implemented - */ -LONG WINAPI -RegQueryValueExA(HKEY hKey, - LPCSTR lpValueName, - LPDWORD lpReserved, - LPDWORD lpType, - LPBYTE lpData, - LPDWORD lpcbData) -{ - UNICODE_STRING ValueName; - LPWSTR lpValueBuffer; - LONG ErrorCode; - DWORD Length; - DWORD Type; - NTSTATUS Status; - ULONG Index; - - TRACE("hKey 0x%X lpValueName %s lpData 0x%X lpcbData %d\n", - hKey, lpValueName, lpData, lpcbData ? *lpcbData : 0); - - if (lpData != NULL && lpcbData == NULL) - { - return ERROR_INVALID_PARAMETER; - } - - Length = (lpcbData == NULL || lpData == NULL) ? 0 : *lpcbData * sizeof(WCHAR); - - if (lpData) - { - lpValueBuffer = RtlAllocateHeap(ProcessHeap, - 0, - Length + sizeof(WCHAR)); - if (!lpValueBuffer) - { - return ERROR_OUTOFMEMORY; - } - } - else - { - lpValueBuffer = NULL; - - if (lpcbData) - *lpcbData = 0; - } - - if(!RtlCreateUnicodeStringFromAsciiz(&ValueName, - (LPSTR)lpValueName)) - { - ERR("RtlCreateUnicodeStringFromAsciiz failed!\n"); - ErrorCode = ERROR_OUTOFMEMORY; - goto cleanup; - } - - ErrorCode = RegQueryValueExW(hKey, - ValueName.Buffer, - lpReserved, - &Type, - (LPBYTE)lpValueBuffer, - &Length); - TRACE("ErrorCode %lu\n", ErrorCode); - - RtlFreeUnicodeString(&ValueName); - - if (ErrorCode == ERROR_SUCCESS || - ErrorCode == ERROR_MORE_DATA) - { - - if (is_string(Type)) - { - if (ErrorCode == ERROR_SUCCESS && lpValueBuffer != NULL) +/****************************************************************************** + * RegQueryValueExA [ADVAPI32.@] + * + * Get the type and contents of a specified value under with a key. + * + * PARAMS + * hkey [I] Handle of the key to query + * name [I] Name of value under hkey to query + * reserved [I] Reserved - must be NULL + * type [O] Destination for the value type, or NULL if not required + * data [O] Destination for the values contents, or NULL if not required + * count [I/O] Size of data, updated with the number of bytes returned + * + * RETURNS + * Success: ERROR_SUCCESS. *count is updated with the number of bytes copied to data. + * Failure: ERROR_INVALID_HANDLE, if hkey is invalid. + * ERROR_INVALID_PARAMETER, if any other parameter is invalid. + * ERROR_MORE_DATA, if on input *count is too small to hold the contents. + * + * NOTES + * MSDN states that if data is too small it is partially filled. In reality + * it remains untouched. + */ +LONG +WINAPI +RegQueryValueExA(HKEY hkeyorg, + LPCSTR name, + LPDWORD reserved, + LPDWORD type, + LPBYTE data, + LPDWORD count) +{ + HANDLE hkey; + NTSTATUS status; + ANSI_STRING nameA; + UNICODE_STRING nameW; + DWORD total_size, datalen = 0; + char buffer[256], *buf_ptr = buffer; + KEY_VALUE_PARTIAL_INFORMATION *info = (KEY_VALUE_PARTIAL_INFORMATION *)buffer; + static const int info_size = offsetof( KEY_VALUE_PARTIAL_INFORMATION, Data ); + + TRACE("(%p,%s,%p,%p,%p,%p=%d)\n", + hkey, debugstr_a(name), reserved, type, data, count, count ? *count : 0 ); + + if ((data && !count) || reserved) return ERROR_INVALID_PARAMETER; + status = MapDefaultKey(&hkey, hkeyorg); + if (!NT_SUCCESS(status)) + { + return RtlNtStatusToDosError(status); + } + + if (count) datalen = *count; + if (!data && count) *count = 0; + + RtlInitAnsiString( &nameA, name ); + if ((status = RtlAnsiStringToUnicodeString( &nameW, &nameA, TRUE ))) + { + return RtlNtStatusToDosError(status); + ClosePredefKey(hkey); + } + + status = NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, + buffer, sizeof(buffer), &total_size ); + if (status && status != STATUS_BUFFER_OVERFLOW) goto done; + + /* we need to fetch the contents for a string type even if not requested, + * because we need to compute the length of the ASCII string. */ + if (data || is_string(info->Type)) + { + /* retry with a dynamically allocated buffer */ + while (status == STATUS_BUFFER_OVERFLOW) + { + if (buf_ptr != buffer) HeapFree( GetProcessHeap(), 0, buf_ptr ); + if (!(buf_ptr = HeapAlloc( GetProcessHeap(), 0, total_size ))) { - Status = RtlUnicodeToMultiByteN((PCHAR)lpData, *lpcbData, &Index, (PWCHAR)lpValueBuffer, Length); - if (NT_SUCCESS(Status)) - { - PCHAR szData = (PCHAR)lpData; - if(&szData[Index] < (PCHAR)(lpData + *lpcbData)) - { - szData[Index] = '\0'; - } - } + status = STATUS_NO_MEMORY; + goto done; + } + info = (KEY_VALUE_PARTIAL_INFORMATION *)buf_ptr; + status = NtQueryValueKey( hkey, &nameW, KeyValuePartialInformation, + buf_ptr, total_size, &total_size ); + } + + if (status) goto done; + + if (is_string(info->Type)) + { + DWORD len; + + RtlUnicodeToMultiByteSize( &len, (WCHAR *)(buf_ptr + info_size), + total_size - info_size ); + if (data && len) + { + if (len > datalen) status = STATUS_BUFFER_OVERFLOW; else { - ErrorCode = RtlNtStatusToDosError(Status); + RtlUnicodeToMultiByteN( (char*)data, len, NULL, (WCHAR *)(buf_ptr + info_size), + total_size - info_size ); + /* if the type is REG_SZ and data is not 0-terminated + * and there is enough space in the buffer NT appends a \0 */ + if (len < datalen && data[len-1]) data[len] = 0; } } - - Length = Length / sizeof(WCHAR); - } - else if (ErrorCode == ERROR_SUCCESS && lpValueBuffer != NULL) - { - if (*lpcbData < Length) - { - ErrorCode = ERROR_MORE_DATA; - } - else - { - RtlMoveMemory(lpData, lpValueBuffer, Length); - } - } - - if (lpcbData != NULL) - { - *lpcbData = Length; - } - } - - if (lpType != NULL) - { - *lpType = Type; - } - -cleanup: - if (lpValueBuffer != NULL) - { - RtlFreeHeap(ProcessHeap, 0, lpValueBuffer); - } - - return ErrorCode; + total_size = len + info_size; + } + else if (data) + { + if (total_size - info_size > datalen) status = STATUS_BUFFER_OVERFLOW; + else memcpy( data, buf_ptr + info_size, total_size - info_size ); + } + } + else status = STATUS_SUCCESS; + + if (type) *type = info->Type; + if (count) *count = total_size - info_size; + + done: + if (buf_ptr != buffer) HeapFree( GetProcessHeap(), 0, buf_ptr ); + RtlFreeUnicodeString( &nameW ); + ClosePredefKey(hkey); + return RtlNtStatusToDosError(status); }
13 years, 8 months
1
0
0
0
← Newer
1
...
17
18
19
20
21
22
23
...
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