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
March 2021
----- 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
15 participants
161 discussions
Start a n
N
ew thread
[reactos] 01/01: [BROWSEUI] Fix addreseditbox.h assertion
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=32a9b640515d068448893…
commit 32a9b640515d0684488935ad67b4fb61d567ad74 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Thu Mar 11 16:42:29 2021 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Thu Mar 11 16:42:36 2021 +0900 [BROWSEUI] Fix addreseditbox.h assertion CORE-17505 --- dll/win32/browseui/addresseditbox.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dll/win32/browseui/addresseditbox.cpp b/dll/win32/browseui/addresseditbox.cpp index 69e6f25d50c..f1e9131d607 100644 --- a/dll/win32/browseui/addresseditbox.cpp +++ b/dll/win32/browseui/addresseditbox.cpp @@ -31,8 +31,8 @@ TODO: */ CAddressEditBox::CAddressEditBox() : - fCombobox(NULL, this, 1), - fEditWindow(NULL, this, 1), + fCombobox(WC_COMBOBOXEXW, this), + fEditWindow(WC_EDITW, this), fSite(NULL), pidlLastParsed(NULL) {
3 years, 9 months
1
0
0
0
[reactos] 01/01: [DESKCPL] Update Polish [pl-PL] translation (#3520)
by Piotr Hetnarowicz
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=31f20137b61abaf9b8eec…
commit 31f20137b61abaf9b8eecb1eb855b7534231e79d Author: Piotr Hetnarowicz <40692062+pithwz(a)users.noreply.github.com> AuthorDate: Thu Mar 11 02:36:48 2021 +0100 Commit: GitHub <noreply(a)github.com> CommitDate: Thu Mar 11 02:36:48 2021 +0100 [DESKCPL] Update Polish [pl-PL] translation (#3520) --- dll/cpl/desk/lang/pl-PL.rc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/dll/cpl/desk/lang/pl-PL.rc b/dll/cpl/desk/lang/pl-PL.rc index e7f562332a0..b4848b00c4f 100644 --- a/dll/cpl/desk/lang/pl-PL.rc +++ b/dll/cpl/desk/lang/pl-PL.rc @@ -5,6 +5,7 @@ * Updated by Caemyr - Olaf Siejka (Jan-Feb, 2008) * Updated by Saibamen - Adam Stachowicz (saibamenppl(a)gmail.com) (August, 2011) * UTF-8 conversion by Caemyr (May, 2011) + * Updated by Piotr Hetnarowicz <piotrhwz(a)gmail.com> (March, 2021) */ LANGUAGE LANG_POLISH, SUBLANG_DEFAULT @@ -71,11 +72,11 @@ BEGIN LTEXT "Schemat kolorów", IDC_STATIC, 7, 157, 104, 9 COMBOBOX IDC_APPEARANCE_COLORSCHEME, 7, 167, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP - LTEXT "Rozmiar", IDC_STATIC, 7, 184, 104, 9 + LTEXT "Rozmiar czcionki", IDC_STATIC, 7, 184, 104, 9 COMBOBOX IDC_APPEARANCE_SIZE, 7, 194, 134, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 182, 150, 56, 15 - PUSHBUTTON "Zaawansowane", IDC_APPEARANCE_ADVANCED, 182, 170, 56, 15 + PUSHBUTTON "&Efekty...", IDC_APPEARANCE_EFFECTS, 178, 150, 63, 15 + PUSHBUTTON "Zaawansowane...", IDC_APPEARANCE_ADVANCED, 178, 170, 63, 15 END IDD_ADVAPPEARANCE DIALOGEX 0, 0, 250, 239 @@ -85,7 +86,7 @@ CAPTION "Ustawienia zaawansowane" FONT 8, "MS Shell Dlg" BEGIN CONTROL "", IDC_APPEARANCE_PREVIEW, "PreviewWndClass", WS_VISIBLE | WS_BORDER, 7, 7, 232, 120 - LTEXT "Jeśli wybierzesz motyw inny niż ReactOS classic, zastąpi on następujące ustawienia, z wyjątkiem niektórych starszych programów.", IDC_ADVAPPEARANCE_DISCLAIMER, 7, 133, 232, 30, BS_MULTILINE + LTEXT "Jeśli wybierzesz motyw inny niż Klasyczny ReactOS, poniższe ustawienia zostaną zastąpione, ale nie we wszystkich starszych programach.", IDC_ADVAPPEARANCE_DISCLAIMER, 7, 132, 238, 25, BS_MULTILINE LTEXT "&Element", 8, 5, 160, 50, 9 COMBOBOX IDC_ADVAPPEARANCE_ELEMENT, 5, 170, 130, 90, CBS_DROPDOWNLIST | CBS_HASSTRINGS | CBS_SORT | WS_CHILD | WS_VSCROLL | WS_TABSTOP @@ -150,13 +151,13 @@ BEGIN LTEXT "<brak>", IDC_SETTINGS_DEVICE, 3, 116, 224, 9 GROUPBOX "&Rozdzielczość ekranu", 1818, 3, 127, 115, 43 CONTROL "", IDC_SETTINGS_RESOLUTION, "msctls_trackbar32", TBS_AUTOTICKS | WS_TABSTOP, 30, 137, 58, 17 - LTEXT "Mniej", 1815, 9, 137, 25, 9, NOT WS_GROUP - LTEXT "Więcej", 1816, 93, 137, 21, 9, NOT WS_GROUP + LTEXT "Mniej", 1815, 12, 137, 18, 9, NOT WS_GROUP + LTEXT "Więcej", 1816, 88, 137, 26, 9, NOT WS_GROUP LTEXT "", IDC_SETTINGS_RESOLUTION_TEXT, 10, 157, 100, 10, NOT WS_GROUP | SS_CENTER GROUPBOX "&Ilość kolorów", 1817, 125, 127, 115, 43 COMBOBOX IDC_SETTINGS_BPP, 131, 137, 103, 80, CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP CONTROL "", IDC_SETTINGS_SPECTRUM, "Static", SS_OWNERDRAW | SS_SUNKEN, 131, 155, 103, 9 - PUSHBUTTON "Zaawa&nsowane...", IDC_SETTINGS_ADVANCED, 170, 174, 70, 15 + PUSHBUTTON "Zaawa&nsowane...", IDC_SETTINGS_ADVANCED, 171, 174, 70, 15 END IDD_ADVANCED_GENERAL DIALOGEX 0, 0, 253, 204 @@ -169,9 +170,9 @@ BEGIN COMBOBOX IDC_FONTSIZE_COMBO, 14, 30, 223, 80, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP LTEXT "", IDC_FONTSIZE_CUSTOM, 14, 46, 223, 12 GROUPBOX "Tryb zgodności", -1, 7, 67, 237, 97 - LTEXT "Niektóre programy mogą działać niepoprawnie, jeśli po zmianie ustawień ekranu nie zrestartujesz systemu.\r\n\nPo zmianie ustawień ekranu", -1, 12, 78, 228, 34 - AUTORADIOBUTTON "&Zrestartuj system przed wprowadzeniem zmian.", IDC_RESTART_RB, 14, 116, 228, 10 - AUTORADIOBUTTON "Zastosuj nowe ustawienia ekranu bez restartu systemu.", IDC_WITHOUTREBOOT_RB, 14, 131, 228, 10 + LTEXT "Niektóre programy mogą działać niewłaściwie, jeśli komputer nie zostanie uruchomiony ponwnie po zmianie ustawień ekranuu.\r\n\nPo zmianie ustawień ekranu", -1, 12, 78, 228, 34 + AUTORADIOBUTTON "&Uruchom ponownie komputer przed wprowadzeniem zmian.", IDC_RESTART_RB, 14, 116, 220, 10 + AUTORADIOBUTTON "Zastosuj nowe ustawienia ekranu bez ponownego uruchamiania.", IDC_WITHOUTREBOOT_RB, 14, 131, 228, 10 AUTORADIOBUTTON "Pytaj przed zastosowaniem nowych ustawień ekranu.", IDC_ASKME_RB, 14, 146, 228, 10 END
3 years, 9 months
1
0
0
0
[reactos] 01/01: [DESKADP] Update Polish [pl-PL] translation (#3518)
by Piotr Hetnarowicz
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a9b6df917b609ca81405a…
commit a9b6df917b609ca81405a1f51bf4e99b2f8b2248 Author: Piotr Hetnarowicz <40692062+pithwz(a)users.noreply.github.com> AuthorDate: Thu Mar 11 02:35:37 2021 +0100 Commit: GitHub <noreply(a)github.com> CommitDate: Thu Mar 11 02:35:37 2021 +0100 [DESKADP] Update Polish [pl-PL] translation (#3518) --- dll/shellext/deskadp/lang/pl-PL.rc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dll/shellext/deskadp/lang/pl-PL.rc b/dll/shellext/deskadp/lang/pl-PL.rc index 31bd108d8f4..4d7fb520861 100644 --- a/dll/shellext/deskadp/lang/pl-PL.rc +++ b/dll/shellext/deskadp/lang/pl-PL.rc @@ -1,5 +1,6 @@ /* * Translated by Caemyr - Olaf Siejka (Jan, 2008) + * Updated by Piotr Hetnarowicz <piotrhwz(a)gmail.com> (March, 2021) * Use ReactOS forum PM or IRC to contact me *
http://www.reactos.org
* IRC:
irc.freenode.net
#reactos-pl; @@ -24,21 +25,21 @@ BEGIN LTEXT "", IDC_DACTYPE, 71, 80, 160, 8, SS_NOPREFIX LTEXT "Rozmiar pamięci:", -1, 13, 92, 58, 8 LTEXT "", IDC_MEMORYSIZE, 71, 92, 160, 8, SS_NOPREFIX - LTEXT "Ciąg nazwy:", -1, 13, 104, 58, 8 + LTEXT "Ciąg karty:", -1, 13, 104, 58, 8 LTEXT "", IDC_ADAPTERSTRING, 71, 104, 160, 8, SS_NOPREFIX LTEXT "Wersja BIOS:", -1, 13, 116, 58, 8 LTEXT "", IDC_BIOSINFORMATION, 71, 116, 160, 8, SS_NOPREFIX - PUSHBUTTON "&Wyświetl wszystkie tryby...", IDC_LISTALLMODES, 7, 139, 110, 14 + PUSHBUTTON "&Lista wszystkich trybów...", IDC_LISTALLMODES, 7, 139, 110, 14 END IDD_LISTALLMODES DIALOGEX 0, 0, 225, 135 STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME -CAPTION "Wyświetlanie trybów" +CAPTION "Lista wszystkich trybów" FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN DEFPUSHBUTTON "OK", IDOK, 112, 115, 50, 15 PUSHBUTTON "Anuluj", IDCANCEL, 167, 115, 50, 15 - GROUPBOX "Wyświetl tylko obsługiwane tryby", -1, 6, 7, 212, 98 + GROUPBOX "Lista prawidłowych trybów", -1, 6, 7, 212, 98 LISTBOX IDC_ALLVALIDMODES, 10, 20, 204, 87, LBS_NOTIFY | WS_VSCROLL END
3 years, 9 months
1
0
0
0
[reactos] 01/01: [ATL] CMakeLists.txt: Use a bare endif() (#3523)
by Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0975c5ef409ef0138f39b…
commit 0975c5ef409ef0138f39bd6d9f6de91f00990cfb Author: Serge Gautherie <32623169+SergeGautherie(a)users.noreply.github.com> AuthorDate: Thu Mar 11 00:38:04 2021 +0100 Commit: GitHub <noreply(a)github.com> CommitDate: Thu Mar 11 08:38:04 2021 +0900 [ATL] CMakeLists.txt: Use a bare endif() (#3523) Addendum to 98203ce. --- sdk/lib/atl/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/lib/atl/CMakeLists.txt b/sdk/lib/atl/CMakeLists.txt index d8d4c149ffb..000bd02060d 100644 --- a/sdk/lib/atl/CMakeLists.txt +++ b/sdk/lib/atl/CMakeLists.txt @@ -2,7 +2,7 @@ add_library(atl_classes INTERFACE) if(DBG) target_compile_definitions(atl_classes INTERFACE _DEBUG) -endif(DBG) +endif() target_include_directories(atl_classes INTERFACE $<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}>)
3 years, 9 months
1
0
0
0
[reactos] 01/01: Fix some assertions now that they are enabled (#3524)
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1952e5b795433039d2389…
commit 1952e5b795433039d238952dbdc9dbc34ab0c404 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Wed Mar 10 23:43:06 2021 +0100 Commit: GitHub <noreply(a)github.com> CommitDate: Thu Mar 11 07:43:06 2021 +0900 Fix some assertions now that they are enabled (#3524) Fix some assertions, hack out some others (they need more ATL work). CORE-17505 --- base/shell/explorer/syspager.cpp | 5 ++++- base/shell/explorer/taskswnd.cpp | 2 ++ base/shell/explorer/traywnd.cpp | 8 +++++++- dll/shellext/netshell/lanstatusui.cpp | 1 + dll/win32/shell32/shellmenu/CMenuToolbars.cpp | 8 +++++--- dll/win32/shell32/shellmenu/CMenuToolbars.h | 2 ++ sdk/include/reactos/rosctrls.h | 2 ++ 7 files changed, 23 insertions(+), 5 deletions(-) diff --git a/base/shell/explorer/syspager.cpp b/base/shell/explorer/syspager.cpp index 7e61b00a042..d6f729d2d7b 100644 --- a/base/shell/explorer/syspager.cpp +++ b/base/shell/explorer/syspager.cpp @@ -1231,7 +1231,10 @@ void CNotifyToolbar::Initialize(HWND hWndParent, CBalloonQueue * queue) TBSTYLE_FLAT | TBSTYLE_TOOLTIPS | TBSTYLE_WRAPABLE | TBSTYLE_TRANSPARENT | CCS_TOP | CCS_NORESIZE | CCS_NOPARENTALIGN | CCS_NODIVIDER; - SubclassWindow(CToolbar::Create(hWndParent, styles)); + HWND toolbar = CToolbar::Create(hWndParent, styles); + //HACK: We have not created this toolbar properly, so we need to subclass it now! + m_hWnd = NULL; + SubclassWindow(toolbar); // Force the toolbar tooltips window to always show tooltips even if not foreground HWND tooltipsWnd = (HWND)SendMessageW(TB_GETTOOLTIPS); diff --git a/base/shell/explorer/taskswnd.cpp b/base/shell/explorer/taskswnd.cpp index f8f4147c225..03a2b3f02a0 100644 --- a/base/shell/explorer/taskswnd.cpp +++ b/base/shell/explorer/taskswnd.cpp @@ -287,6 +287,8 @@ public: HWND toolbar = CToolbar::Create(hWndParent, styles); SetDrawTextFlags(DT_NOPREFIX, DT_NOPREFIX); + //HACK: We have not created this toolbar properly, so we need to subclass it now! + m_hWnd = NULL; return SubclassWindow(toolbar); } }; diff --git a/base/shell/explorer/traywnd.cpp b/base/shell/explorer/traywnd.cpp index 8dd491b0678..8dad6c4e2a1 100644 --- a/base/shell/explorer/traywnd.cpp +++ b/base/shell/explorer/traywnd.cpp @@ -200,7 +200,11 @@ public: VOID Initialize() { - SubclassWindow(m_hWnd); + //HACK: We have not created this button properly, so we need to subclass it now! + HWND button = m_hWnd; + m_hWnd = NULL; + SubclassWindow(button); + SetWindowTheme(m_hWnd, L"Start", NULL); m_ImageList = ImageList_LoadImageW(hExplorerInstance, @@ -214,6 +218,8 @@ public: UpdateSize(); } + // Hack: + // Use DECLARE_WND_SUPERCLASS instead! HWND Create(HWND hwndParent) { WCHAR szStartCaption[32]; diff --git a/dll/shellext/netshell/lanstatusui.cpp b/dll/shellext/netshell/lanstatusui.cpp index 9210699b622..19b0e676a2b 100644 --- a/dll/shellext/netshell/lanstatusui.cpp +++ b/dll/shellext/netshell/lanstatusui.cpp @@ -915,6 +915,7 @@ CLanStatus::InitializeNetTaskbarNotifications() Index = 1; while (TRUE) { + pNetCon.Release(); hr = pEnumCon->Next(1, &pNetCon, &Count); if (hr != S_OK) break; diff --git a/dll/win32/shell32/shellmenu/CMenuToolbars.cpp b/dll/win32/shell32/shellmenu/CMenuToolbars.cpp index 86bacd2a6f8..984be9ecfc7 100644 --- a/dll/win32/shell32/shellmenu/CMenuToolbars.cpp +++ b/dll/win32/shell32/shellmenu/CMenuToolbars.cpp @@ -398,7 +398,7 @@ HRESULT CMenuToolbarBase::CreateToolbar(HWND hwndParent, DWORD dwFlags) rc.bottom = 1; } - SubclassWindow(CToolbar::Create(hwndParent, tbStyles, tbExStyles)); + CToolbar::Create(hwndParent, tbStyles, tbExStyles); SetWindowTheme(m_hWnd, L"", L""); @@ -1163,7 +1163,8 @@ HRESULT CMenuStaticToolbar::SetMenu( m_hwndMenu = hwnd; m_dwMenuFlags = dwFlags; - ClearToolbar(); + if (IsWindow()) + ClearToolbar(); return S_OK; } @@ -1408,7 +1409,8 @@ HRESULT CMenuSFToolbar::SetShellFolder(IShellFolder *psf, LPCITEMIDLIST pidlFold m_hKey = hKey; m_dwMenuFlags = dwFlags; - ClearToolbar(); + if (IsWindow()) + ClearToolbar(); return S_OK; } diff --git a/dll/win32/shell32/shellmenu/CMenuToolbars.h b/dll/win32/shell32/shellmenu/CMenuToolbars.h index 6463166d258..a7ecb45b0ed 100644 --- a/dll/win32/shell32/shellmenu/CMenuToolbars.h +++ b/dll/win32/shell32/shellmenu/CMenuToolbars.h @@ -135,6 +135,8 @@ private: MESSAGE_HANDLER(WM_COMMAND, OnWinEventWrap) MESSAGE_HANDLER(WM_NOTIFY, OnWinEventWrap) MESSAGE_HANDLER(WM_TIMER, OnPopupTimer) + ALT_MSG_MAP(1) + // No pager specific handlers yet END_MSG_MAP() }; diff --git a/sdk/include/reactos/rosctrls.h b/sdk/include/reactos/rosctrls.h index 73e7cfab1d2..0f1d7f73e61 100644 --- a/sdk/include/reactos/rosctrls.h +++ b/sdk/include/reactos/rosctrls.h @@ -251,6 +251,8 @@ class CToolbar : { public: // Configuration methods + // Hack: + // Use DECLARE_WND_SUPERCLASS instead! HWND Create(HWND hWndParent, DWORD dwStyles = 0, DWORD dwExStyles = 0) { if (!dwStyles)
3 years, 9 months
1
0
0
0
[reactos] 02/02: [SDK:KMDF] Populate OsVersionInfo in our static linking hack
by Victor Perevertkin
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=df35c8d05eff41210b60d…
commit df35c8d05eff41210b60dc5a9515fefc2d8d30a4 Author: Victor Perevertkin <victor.perevertkin(a)reactos.org> AuthorDate: Wed Mar 10 18:41:46 2021 +0300 Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org> CommitDate: Wed Mar 10 18:41:46 2021 +0300 [SDK:KMDF] Populate OsVersionInfo in our static linking hack --- sdk/lib/drivers/wdf/reactos_special.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/lib/drivers/wdf/reactos_special.cpp b/sdk/lib/drivers/wdf/reactos_special.cpp index 394e0720865..2d04b3dc0ed 100644 --- a/sdk/lib/drivers/wdf/reactos_special.cpp +++ b/sdk/lib/drivers/wdf/reactos_special.cpp @@ -32,6 +32,7 @@ const WDFFUNC *WdfFunctions_01017 = (WDFFUNC *)(&WdfVersion.Functions); // PWDF_DRIVER_GLOBALS WdfDriverGlobals = &((PFX_DRIVER_GLOBALS)&WdfDriverGlobalsVal)->Public; WDF_BIND_INFO WdfBindInfo = {0}; PWDF_DRIVER_GLOBALS WdfDriverGlobals; +extern FxLibraryGlobalsType FxLibraryGlobals; #define KMDF_DEFAULT_NAME "Wdf01000" @@ -61,6 +62,8 @@ RosInitWdf() WdfBindInfo.FuncCount = WdfVersion.FuncCount; WdfBindInfo.FuncTable = (WDFFUNC *)(&WdfVersion.Functions); fxDriverGlobals->WdfBindInfo = &WdfBindInfo; + FxLibraryGlobals.OsVersionInfo.dwMajorVersion = 5; + FxLibraryGlobals.OsVersionInfo.dwMinorVersion = 1; } void
3 years, 9 months
1
0
0
0
[reactos] 01/02: [SDK:KMDF] Fix calling convention for the kernel function pointers
by Victor Perevertkin
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6d1ca3553ea8b497de364…
commit 6d1ca3553ea8b497de3644745c1f59872bea354b Author: Victor Perevertkin <victor.perevertkin(a)reactos.org> AuthorDate: Wed Mar 10 18:41:03 2021 +0300 Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org> CommitDate: Wed Mar 10 18:41:03 2021 +0300 [SDK:KMDF] Fix calling convention for the kernel function pointers --- .../wdf/shared/inc/primitives/common/mxmacros.h | 6 ++ .../wdf/shared/inc/primitives/km/mxtimerkm.h | 2 +- .../wdf/shared/inc/private/km/fxglobalskm.h | 68 +++++++++++----------- 3 files changed, 41 insertions(+), 35 deletions(-) diff --git a/sdk/lib/drivers/wdf/shared/inc/primitives/common/mxmacros.h b/sdk/lib/drivers/wdf/shared/inc/primitives/common/mxmacros.h index a92c7644c5b..e9364ea3fe2 100644 --- a/sdk/lib/drivers/wdf/shared/inc/primitives/common/mxmacros.h +++ b/sdk/lib/drivers/wdf/shared/inc/primitives/common/mxmacros.h @@ -27,3 +27,9 @@ Revision History: #else #define CHECK_RETURN_IF_USER_MODE #endif + +#ifdef __REACTOS__ +# ifndef STDCALL +# define STDCALL __stdcall +# endif +#endif diff --git a/sdk/lib/drivers/wdf/shared/inc/primitives/km/mxtimerkm.h b/sdk/lib/drivers/wdf/shared/inc/primitives/km/mxtimerkm.h index 9bc1d4de1af..dfb4a3d8182 100644 --- a/sdk/lib/drivers/wdf/shared/inc/primitives/km/mxtimerkm.h +++ b/sdk/lib/drivers/wdf/shared/inc/primitives/km/mxtimerkm.h @@ -26,7 +26,7 @@ Revision History: typedef BOOLEAN -(*PFN_KE_SET_COALESCABLE_TIMER) ( +(STDCALL *PFN_KE_SET_COALESCABLE_TIMER) ( __inout PKTIMER Timer, __in LARGE_INTEGER DueTime, __in ULONG Period, diff --git a/sdk/lib/drivers/wdf/shared/inc/private/km/fxglobalskm.h b/sdk/lib/drivers/wdf/shared/inc/private/km/fxglobalskm.h index dbe65de0b4a..293050e29c8 100644 --- a/sdk/lib/drivers/wdf/shared/inc/private/km/fxglobalskm.h +++ b/sdk/lib/drivers/wdf/shared/inc/private/km/fxglobalskm.h @@ -57,18 +57,18 @@ struct FxAllocatedMdls { typedef BOOLEAN -(*PFN_KD_REFRESH)( +(STDCALL *PFN_KD_REFRESH)( ); typedef VOID -(*PFN_KE_FLUSH_QUEUED_DPCS)( +(STDCALL *PFN_KE_FLUSH_QUEUED_DPCS)( VOID ); typedef NTSTATUS -(*PFN_IO_SET_COMPLETION_ROUTINE_EX)( +(STDCALL *PFN_IO_SET_COMPLETION_ROUTINE_EX)( __in PDEVICE_OBJECT DeviceObject, __in PIRP Irp, __in PIO_COMPLETION_ROUTINE CompletionRoutine, @@ -80,7 +80,7 @@ NTSTATUS typedef BOOLEAN -(*PFN_KE_REGISTER_BUGCHECK_REASON_CALLBACK) ( +(STDCALL *PFN_KE_REGISTER_BUGCHECK_REASON_CALLBACK) ( __in PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord, __in PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine, __in KBUGCHECK_CALLBACK_REASON Reason, @@ -89,25 +89,25 @@ BOOLEAN typedef BOOLEAN -(*PFN_KE_DEREGISTER_BUGCHECK_REASON_CALLBACK) ( +(STDCALL *PFN_KE_DEREGISTER_BUGCHECK_REASON_CALLBACK) ( __in PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecords ); typedef NTSTATUS -(*PFN_IO_CONNECT_INTERRUPT_EX)( +(STDCALL *PFN_IO_CONNECT_INTERRUPT_EX)( __inout PIO_CONNECT_INTERRUPT_PARAMETERS Parameters ); typedef NTSTATUS -(*PFN_IO_DISCONNECT_INTERRUPT_EX)( +(STDCALL *PFN_IO_DISCONNECT_INTERRUPT_EX)( __in PIO_DISCONNECT_INTERRUPT_PARAMETERS Parameters ); typedef NTSTATUS -(*PFN_IO_CONNECT_INTERRUPT)( +(STDCALL *PFN_IO_CONNECT_INTERRUPT)( __out PKINTERRUPT *InterruptObject, __in PKSERVICE_ROUTINE ServiceRoutine, __in_opt PVOID ServiceContext, @@ -123,7 +123,7 @@ NTSTATUS typedef VOID -(*PFN_IO_DISCONNECT_INTERRUPT)( +(STDCALL *PFN_IO_DISCONNECT_INTERRUPT)( __in PKINTERRUPT InterruptObject ); @@ -154,32 +154,32 @@ PSLIST_ENTRY typedef BOOLEAN -(*PFN_PO_GET_SYSTEM_WAKE)( +(STDCALL *PFN_PO_GET_SYSTEM_WAKE)( __in PIRP Irp ); typedef VOID -(*PFN_PO_SET_SYSTEM_WAKE)( +(STDCALL *PFN_PO_SET_SYSTEM_WAKE)( __inout PIRP Irp ); typedef KAFFINITY -(*PFN_KE_QUERY_ACTIVE_PROCESSORS)( +(STDCALL *PFN_KE_QUERY_ACTIVE_PROCESSORS)( VOID ); typedef VOID -(*PFN_KE_SET_TARGET_PROCESSOR_DPC)( +(STDCALL *PFN_KE_SET_TARGET_PROCESSOR_DPC)( __in PRKDPC Dpc, __in CCHAR Number ); typedef BOOLEAN -(*PFN_KE_SET_COALESCABLE_TIMER)( +(STDCALL *PFN_KE_SET_COALESCABLE_TIMER)( __inout PKTIMER Timer, __in LARGE_INTEGER DueTime, __in ULONG Period, @@ -189,49 +189,49 @@ BOOLEAN typedef ULONG -(*PFN_KE_GET_CURRENT_PROCESSOR_NUMBER)( +(STDCALL *PFN_KE_GET_CURRENT_PROCESSOR_NUMBER)( VOID ); typedef ULONG -(*PFN_KE_GET_CURRENT_PROCESSOR_NUMBER_EX)( +(STDCALL *PFN_KE_GET_CURRENT_PROCESSOR_NUMBER_EX)( __out_opt PPROCESSOR_NUMBER ProcNumber ); typedef ULONG -(*PFN_KE_QUERY_MAXIMUM_PROCESSOR_COUNT_EX)( +(STDCALL *PFN_KE_QUERY_MAXIMUM_PROCESSOR_COUNT_EX)( __in USHORT GroupNumber ); typedef ULONG -(*PFN_KE_QUERY_MAXIMUM_PROCESSOR_COUNT)( +(STDCALL *PFN_KE_QUERY_MAXIMUM_PROCESSOR_COUNT)( VOID ); typedef BOOLEAN -(*PFN_KE_ARE_APCS_DISABLED)( +(STDCALL *PFN_KE_ARE_APCS_DISABLED)( VOID ); typedef ULONG -(*PFN_KE_GET_RECOMMENDED_SHARED_DATA_ALIGNMENT)( +(STDCALL *PFN_KE_GET_RECOMMENDED_SHARED_DATA_ALIGNMENT)( VOID ); typedef NTSTATUS -(*PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX)( +(STDCALL *PFN_IO_UNREGISTER_PLUGPLAY_NOTIFICATION_EX)( __in PVOID NotificationEntry ); typedef NTSTATUS -(*PFN_POX_REGISTER_DEVICE) ( +(STDCALL *PFN_POX_REGISTER_DEVICE) ( __in MdDeviceObject Pdo, __in PPO_FX_DEVICE PoxDevice, __out POHANDLE * Handle @@ -239,19 +239,19 @@ NTSTATUS typedef VOID -(*PFN_POX_START_DEVICE_POWER_MANAGEMENT) ( +(STDCALL *PFN_POX_START_DEVICE_POWER_MANAGEMENT) ( __in POHANDLE Handle ); typedef VOID -(*PFN_POX_UNREGISTER_DEVICE) ( +(STDCALL *PFN_POX_UNREGISTER_DEVICE) ( __in POHANDLE Handle ); typedef VOID -(*PFN_POX_ACTIVATE_COMPONENT) ( +(STDCALL *PFN_POX_ACTIVATE_COMPONENT) ( __in POHANDLE Handle, __in ULONG Component, __in ULONG Flags @@ -259,7 +259,7 @@ VOID typedef VOID -(*PFN_POX_IDLE_COMPONENT) ( +(STDCALL *PFN_POX_IDLE_COMPONENT) ( __in POHANDLE Handle, __in ULONG Component, __in ULONG Flags @@ -267,52 +267,52 @@ VOID typedef VOID -(*PFN_POX_REPORT_DEVICE_POWERED_ON) ( +(STDCALL *PFN_POX_REPORT_DEVICE_POWERED_ON) ( __in POHANDLE Handle ); typedef VOID -(*PFN_POX_COMPLETE_IDLE_STATE) ( +(STDCALL *PFN_POX_COMPLETE_IDLE_STATE) ( __in POHANDLE Handle, __in ULONG Component ); typedef VOID -(*PFN_POX_COMPLETE_IDLE_CONDITION) ( +(STDCALL *PFN_POX_COMPLETE_IDLE_CONDITION) ( __in POHANDLE Handle, __in ULONG Component ); typedef VOID -(*PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED) ( +(STDCALL *PFN_POX_COMPLETE_DEVICE_POWER_NOT_REQUIRED) ( __in POHANDLE Handle ); typedef VOID -(*PFN_POX_SET_DEVICE_IDLE_TIMEOUT) ( +(STDCALL *PFN_POX_SET_DEVICE_IDLE_TIMEOUT) ( __in POHANDLE Handle, __in ULONGLONG IdleTimeout ); typedef VOID -(*PFN_IO_REPORT_INTERRUPT_ACTIVE) ( +(STDCALL *PFN_IO_REPORT_INTERRUPT_ACTIVE) ( _In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters ); typedef VOID -(*PFN_IO_REPORT_INTERRUPT_INACTIVE) ( +(STDCALL *PFN_IO_REPORT_INTERRUPT_INACTIVE) ( _In_ PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Parameters ); typedef VOID -(*PFN_VF_CHECK_NX_POOL_TYPE) ( +(STDCALL *PFN_VF_CHECK_NX_POOL_TYPE) ( _In_ POOL_TYPE PoolType, _In_ PVOID CallingAddress, _In_ ULONG PoolTag
3 years, 9 months
1
0
0
0
[reactos] 01/01: [CMAKE] Define _DEBUG for better ATL debugging (Retry) (#3519)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=98203cea23af32415dea9…
commit 98203cea23af32415dea91a280c47afcf4c388d4 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Wed Mar 10 22:59:13 2021 +0900 Commit: GitHub <noreply(a)github.com> CommitDate: Wed Mar 10 22:59:13 2021 +0900 [CMAKE] Define _DEBUG for better ATL debugging (Retry) (#3519) CORE-17505 --- base/applications/rapps/include/defines.h | 1 - sdk/lib/atl/CMakeLists.txt | 3 +++ sdk/lib/atl/atlcom.h | 2 +- sdk/lib/atl/statreg.h | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/base/applications/rapps/include/defines.h b/base/applications/rapps/include/defines.h index d5247963725..a8177811a1d 100644 --- a/base/applications/rapps/include/defines.h +++ b/base/applications/rapps/include/defines.h @@ -4,7 +4,6 @@ #define _INC_WINDOWS #define COM_NO_WINDOWS_H #define COBJMACROS -#define _DEBUG #include <tchar.h> #include <stdarg.h> diff --git a/sdk/lib/atl/CMakeLists.txt b/sdk/lib/atl/CMakeLists.txt index 6923a49bb8f..d8d4c149ffb 100644 --- a/sdk/lib/atl/CMakeLists.txt +++ b/sdk/lib/atl/CMakeLists.txt @@ -1,5 +1,8 @@ add_library(atl_classes INTERFACE) +if(DBG) + target_compile_definitions(atl_classes INTERFACE _DEBUG) +endif(DBG) target_include_directories(atl_classes INTERFACE $<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}>) diff --git a/sdk/lib/atl/atlcom.h b/sdk/lib/atl/atlcom.h index 9c45c2eab2a..544de73244c 100644 --- a/sdk/lib/atl/atlcom.h +++ b/sdk/lib/atl/atlcom.h @@ -456,7 +456,7 @@ class CComCreator2 public: static HRESULT WINAPI CreateInstance(void *pv, REFIID riid, LPVOID *ppv) { - ATLASSERT(ppv != NULL && &riid != NULL); + ATLASSERT(ppv != NULL); if (pv == NULL) return T1::CreateInstance(NULL, riid, ppv); diff --git a/sdk/lib/atl/statreg.h b/sdk/lib/atl/statreg.h index daf8312b7a3..b027d31c154 100644 --- a/sdk/lib/atl/statreg.h +++ b/sdk/lib/atl/statreg.h @@ -68,19 +68,19 @@ public: HRESULT STDMETHODCALLTYPE QueryInterface(const IID & /* riid */, void ** /* ppvObject */ ) { - ATLASSERT(_T("statically linked in CRegObject is not a com object. Do not callthis function")); + ATLASSERT(FALSE && TEXT("statically linked in CRegObject is not a com object. Do not call this function")); return E_NOTIMPL; } ULONG STDMETHODCALLTYPE AddRef() { - ATLASSERT(_T("statically linked in CRegObject is not a com object. Do not callthis function")); + ATLASSERT(FALSE && TEXT("statically linked in CRegObject is not a com object. Do not call this function")); return 1; } ULONG STDMETHODCALLTYPE Release() { - ATLASSERT(_T("statically linked in CRegObject is not a com object. Do not callthis function")); + ATLASSERT(FALSE && TEXT("statically linked in CRegObject is not a com object. Do not call this function")); return 0; }
3 years, 9 months
1
0
0
0
[reactos] 01/01: [SDK:DDK] Implement the Auxiliary Kernel-Mode Library
by Victor Perevertkin
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0a26c7c5d2fa75fe0cdd5…
commit 0a26c7c5d2fa75fe0cdd58db9516e2280e7d2237 Author: Victor Perevertkin <victor.perevertkin(a)reactos.org> AuthorDate: Wed Mar 10 16:43:59 2021 +0300 Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org> CommitDate: Wed Mar 10 16:43:59 2021 +0300 [SDK:DDK] Implement the Auxiliary Kernel-Mode Library And uncomment the code in KMDF which uses it --- sdk/include/ddk/aux_klib.h | 94 +++++++ sdk/lib/drivers/CMakeLists.txt | 1 + sdk/lib/drivers/aux_klib/CMakeLists.txt | 4 + sdk/lib/drivers/aux_klib/aux_klib.c | 228 ++++++++++++++++ sdk/lib/drivers/wdf/CMakeLists.txt | 2 +- .../wdf/kmdf/src/core/fxbugcheckcallback.cpp | 304 ++++++++++----------- 6 files changed, 478 insertions(+), 155 deletions(-) diff --git a/sdk/include/ddk/aux_klib.h b/sdk/include/ddk/aux_klib.h new file mode 100644 index 00000000000..edbcf06ef6b --- /dev/null +++ b/sdk/include/ddk/aux_klib.h @@ -0,0 +1,94 @@ +/* + * aux_klib.h + * + * Auxiliary Kernel-Mode Library + * + * Contributors: + * Victor Perevertkin <victor.perevertkin(a)reactos.org> + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#pragma once + +#ifndef PIMAGE_EXPORT_DIRECTORY +#include <ntimage.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define AUX_KLIB_MODULE_PATH_LEN 0x100 + +typedef struct _AUX_MODULE_BASIC_INFO { + PVOID ImageBase; +} AUX_MODULE_BASIC_INFO, *PAUX_MODULE_BASIC_INFO; + +typedef struct _AUX_MODULE_EXTENDED_INFO { + AUX_MODULE_BASIC_INFO BasicInfo; + ULONG ImageSize; + USHORT FileNameOffset; + CHAR FullPathName[AUX_KLIB_MODULE_PATH_LEN]; +} AUX_MODULE_EXTENDED_INFO, *PAUX_MODULE_EXTENDED_INFO; + +typedef struct _KBUGCHECK_DATA { + ULONG BugCheckDataSize; + ULONG BugCheckCode; + ULONG_PTR Parameter1; + ULONG_PTR Parameter2; + ULONG_PTR Parameter3; + ULONG_PTR Parameter4; +} KBUGCHECK_DATA, *PKBUGCHECK_DATA; + +NTSTATUS +NTAPI +AuxKlibInitialize(VOID); + +_IRQL_requires_max_(PASSIVE_LEVEL) +NTSTATUS +NTAPI +AuxKlibQueryModuleInformation( + _Inout_ PULONG InformationLength, + _In_ ULONG SizePerModule, + _Out_writes_bytes_opt_(*InformationLength) PAUX_MODULE_EXTENDED_INFO ModuleInfo); + +NTSTATUS +AuxKlibGetBugCheckData( + _Inout_ PKBUGCHECK_DATA BugCheckData); + +PIMAGE_EXPORT_DIRECTORY +AuxKlibGetImageExportDirectory( + _In_ PVOID ImageBase); + +_IRQL_requires_max_(PASSIVE_LEVEL) +NTSTATUS +NTAPI +AuxKlibEnumerateSystemFirmwareTables ( + _In_ ULONG FirmwareTableProviderSignature, + _Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PVOID FirmwareTableBuffer, + _In_ ULONG BufferLength, + _Out_opt_ PULONG ReturnLength); + +_IRQL_requires_max_(PASSIVE_LEVEL) +NTSTATUS +NTAPI +AuxKlibGetSystemFirmwareTable ( + _In_ ULONG FirmwareTableProviderSignature, + _In_ ULONG FirmwareTableID, + _Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PVOID FirmwareTableBuffer, + _In_ ULONG BufferLength, + _Out_opt_ PULONG ReturnLength); + +#ifdef __cplusplus +} +#endif diff --git a/sdk/lib/drivers/CMakeLists.txt b/sdk/lib/drivers/CMakeLists.txt index e20501a0cf0..cbbbf2efb58 100644 --- a/sdk/lib/drivers/CMakeLists.txt +++ b/sdk/lib/drivers/CMakeLists.txt @@ -1,5 +1,6 @@ add_subdirectory(arbiter) +add_subdirectory(aux_klib) add_subdirectory(chew) add_subdirectory(copysup) add_subdirectory(csq) diff --git a/sdk/lib/drivers/aux_klib/CMakeLists.txt b/sdk/lib/drivers/aux_klib/CMakeLists.txt new file mode 100644 index 00000000000..222245ec42b --- /dev/null +++ b/sdk/lib/drivers/aux_klib/CMakeLists.txt @@ -0,0 +1,4 @@ + +add_library(aux_klib aux_klib.c) +target_link_libraries(aux_klib ${PSEH_LIB}) +add_importlibs(aux_klib ntoskrnl) diff --git a/sdk/lib/drivers/aux_klib/aux_klib.c b/sdk/lib/drivers/aux_klib/aux_klib.c new file mode 100644 index 00000000000..c0b74a37b50 --- /dev/null +++ b/sdk/lib/drivers/aux_klib/aux_klib.c @@ -0,0 +1,228 @@ +/* + * PROJECT: ReactOS SDK: Auxiliary Kernel-Mode Library + * LICENSE: BSD-2-Clause-Views (
https://spdx.org/licenses/BSD-2-Clause-Views
) + * PURPOSE: Main source file + * COPYRIGHT: Copyright 2019-2020 Max Korostil <mrmks04(a)yandex.ru> + * Copyright 2021 Victor Perevertkin <victor.perevertkin(a)reactos.org> + */ + +#include <ntifs.h> +#include <ntintsafe.h> +#include <ndk/ntndk.h> +#include <pseh/pseh2.h> +#include <aux_klib.h> + +#define TAG_AUXK 'AuxK' + +typedef NTSTATUS (NTAPI *PFN_RTLQUERYMODULEINFORMATION)(PULONG, ULONG, PVOID); + +PFN_RTLQUERYMODULEINFORMATION pfnRtlQueryModuleInformation; +LONG gKlibInitialized = 0; + + +CODE_SEG("PAGE") +NTSTATUS +NTAPI +AuxKlibInitialize(VOID) +{ + RTL_OSVERSIONINFOW osVersion; + UNICODE_STRING strRtlQueryModuleInformation = RTL_CONSTANT_STRING(L"RtlQueryModuleInformation"); + + PAGED_CODE(); + + if (!gKlibInitialized) + { + RtlGetVersion(&osVersion); + if (osVersion.dwMajorVersion >= 5) + { + pfnRtlQueryModuleInformation = MmGetSystemRoutineAddress(&strRtlQueryModuleInformation); + InterlockedExchange(&gKlibInitialized, 1); + } + else + { + return STATUS_NOT_SUPPORTED; + } + } + + return STATUS_SUCCESS; +} + +CODE_SEG("PAGE") +NTSTATUS +NTAPI +AuxKlibQueryModuleInformation( + _In_ PULONG InformationLength, + _In_ ULONG SizePerModule, + _Inout_ PAUX_MODULE_EXTENDED_INFO ModuleInfo) +{ + NTSTATUS status; + + PAGED_CODE(); + + if (gKlibInitialized != 1) + { + return STATUS_UNSUCCESSFUL; + } + + // if we have the function exported from the kernel, use it + if (pfnRtlQueryModuleInformation != NULL) + { + return pfnRtlQueryModuleInformation(InformationLength, SizePerModule, ModuleInfo); + } + + if (SizePerModule != sizeof(AUX_MODULE_BASIC_INFO) && + SizePerModule != sizeof(AUX_MODULE_EXTENDED_INFO)) + { + return STATUS_INVALID_PARAMETER_2; + } + + if ((ULONG_PTR)ModuleInfo & (TYPE_ALIGNMENT(AUX_MODULE_EXTENDED_INFO) - 1)) + { + return STATUS_INVALID_PARAMETER_3; + } + + // first call the function with a place for only 1 module + RTL_PROCESS_MODULES processModulesMinimal; + PRTL_PROCESS_MODULES processModules = &processModulesMinimal; + ULONG sysInfoLength = sizeof(processModulesMinimal); + ULONG resultLength; + + // loop until we have a large-enough buffer for all modules + do + { + status = ZwQuerySystemInformation(SystemModuleInformation, + processModules, + sysInfoLength, + &resultLength); + + if (status == STATUS_INFO_LENGTH_MISMATCH) + { + // free the old buffer if it's not the first one + if (processModules != &processModulesMinimal) + { + ExFreePoolWithTag(processModules, TAG_AUXK); + } + + _SEH2_TRY + { + // allocate the new one + processModules = ExAllocatePoolWithQuotaTag(PagedPool, resultLength, TAG_AUXK); + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + _SEH2_YIELD(return _SEH2_GetExceptionCode()); + } + _SEH2_END; + + if (!processModules) + { + return STATUS_INSUFFICIENT_RESOURCES; + } + sysInfoLength = resultLength; + } + + } while (status == STATUS_INFO_LENGTH_MISMATCH); + + if (!NT_SUCCESS(status)) + { + goto Cleanup; + } + + ULONG modulesSize; + status = RtlULongMult(SizePerModule, processModules->NumberOfModules, &modulesSize); + if (!NT_SUCCESS(status)) + { + goto Cleanup; + } + + if (ModuleInfo == NULL) + { + ASSERT(status == STATUS_SUCCESS); + *InformationLength = modulesSize; + goto Cleanup; + } + + if (*InformationLength < modulesSize) + { + status = STATUS_BUFFER_TOO_SMALL; + *InformationLength = modulesSize; + goto Cleanup; + } + + // copy the information to the input array + for (UINT32 i = 0; i < processModules->NumberOfModules; i++) + { + ModuleInfo[i].BasicInfo.ImageBase = processModules->Modules[i].ImageBase; + + if (SizePerModule == sizeof(AUX_MODULE_EXTENDED_INFO)) + { + ModuleInfo[i].ImageSize = processModules->Modules[i].ImageSize; + ModuleInfo[i].FileNameOffset = processModules->Modules[i].OffsetToFileName; + RtlCopyMemory(&ModuleInfo[i].FullPathName, + processModules->Modules[i].FullPathName, + sizeof(processModules->Modules[i].FullPathName)); + } + } + +Cleanup: + // don't accidentally free the stack buffer + if (processModules != NULL && processModules != &processModulesMinimal) + { + ExFreePoolWithTag(processModules, TAG_AUXK); + } + + return status; +} + +NTSTATUS +AuxKlibGetBugCheckData( + _Inout_ PKBUGCHECK_DATA BugCheckData) +{ + if (BugCheckData->BugCheckDataSize != sizeof(*BugCheckData)) + { + return STATUS_INFO_LENGTH_MISMATCH; + } + + BugCheckData->BugCheckCode = KiBugCheckData[0]; + BugCheckData->Parameter1 = KiBugCheckData[1]; + BugCheckData->Parameter2 = KiBugCheckData[2]; + BugCheckData->Parameter3 = KiBugCheckData[3]; + BugCheckData->Parameter4 = KiBugCheckData[4]; + + return STATUS_SUCCESS; +} + +PIMAGE_EXPORT_DIRECTORY +AuxKlibGetImageExportDirectory( + _In_ PVOID ImageBase) +{ + ULONG size; + return RtlImageDirectoryEntryToData(ImageBase, TRUE, IMAGE_DIRECTORY_ENTRY_EXPORT, &size); +} + +_IRQL_requires_max_(PASSIVE_LEVEL) +CODE_SEG("PAGE") +NTSTATUS +NTAPI +AuxKlibEnumerateSystemFirmwareTables ( + _In_ ULONG FirmwareTableProviderSignature, + _Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PVOID FirmwareTableBuffer, + _In_ ULONG BufferLength, + _Out_opt_ PULONG ReturnLength) +{ + return STATUS_NOT_IMPLEMENTED; +} + +_IRQL_requires_max_(PASSIVE_LEVEL) +CODE_SEG("PAGE") +NTSTATUS +NTAPI +AuxKlibGetSystemFirmwareTable ( + _In_ ULONG FirmwareTableProviderSignature, + _In_ ULONG FirmwareTableID, + _Out_writes_bytes_to_opt_(BufferLength, *ReturnLength) PVOID FirmwareTableBuffer, + _In_ ULONG BufferLength, + _Out_opt_ PULONG ReturnLength) +{ + return STATUS_NOT_IMPLEMENTED; +} diff --git a/sdk/lib/drivers/wdf/CMakeLists.txt b/sdk/lib/drivers/wdf/CMakeLists.txt index cfb47188138..1210764d036 100644 --- a/sdk/lib/drivers/wdf/CMakeLists.txt +++ b/sdk/lib/drivers/wdf/CMakeLists.txt @@ -208,7 +208,7 @@ target_include_directories(wdf01000 shared/irphandlers/pnp/km # pnpprivkm.hpp ) -target_link_libraries(wdf01000 ntoskrnl_vista ${PSEH_LIB}) +target_link_libraries(wdf01000 aux_klib ntoskrnl_vista ${PSEH_LIB}) if(GCC) target_compile_options(wdf01000 diff --git a/sdk/lib/drivers/wdf/kmdf/src/core/fxbugcheckcallback.cpp b/sdk/lib/drivers/wdf/kmdf/src/core/fxbugcheckcallback.cpp index d164d682a05..b8fabb12203 100644 --- a/sdk/lib/drivers/wdf/kmdf/src/core/fxbugcheckcallback.cpp +++ b/sdk/lib/drivers/wdf/kmdf/src/core/fxbugcheckcallback.cpp @@ -25,7 +25,7 @@ Revision History: #include "fxldr.h" #include "fxbugcheck.h" -// #include <aux_klib.h> +#include <aux_klib.h> // // Disable warnings of features used by the standard headers @@ -125,104 +125,102 @@ FxpGetImageBase( __out PULONG ImageSize ) { -// NTSTATUS status = STATUS_UNSUCCESSFUL; -// ULONG modulesSize = 0; -// AUX_MODULE_EXTENDED_INFO* modules = NULL; -// AUX_MODULE_EXTENDED_INFO* module; -// PVOID addressInImage = NULL; -// ULONG numberOfModules; -// ULONG i; - -// // -// // Basic validation. -// // -// if (NULL == DriverObject || NULL == ImageBase || NULL == ImageSize) { -// status = STATUS_INVALID_PARAMETER; -// goto exit; -// } - -// // -// // Get the address of a well known entry in the Image. -// // -// addressInImage = (PVOID) DriverObject->DriverStart; -// ASSERT(addressInImage != NULL); - -// // -// // Initialize the AUX Kernel Library. -// // -// status = AuxKlibInitialize(); -// if (!NT_SUCCESS(status)) { -// goto exit; -// } - -// // -// // Get size of area needed for loaded modules. -// // -// status = AuxKlibQueryModuleInformation(&modulesSize, -// sizeof(AUX_MODULE_EXTENDED_INFO), -// NULL); - -// if (!NT_SUCCESS(status) || (0 == modulesSize)) { -// goto exit; -// } - -// numberOfModules = modulesSize / sizeof(AUX_MODULE_EXTENDED_INFO); - -// // -// // Allocate returned-sized memory for the modules area. -// // -// modules = (AUX_MODULE_EXTENDED_INFO*) ExAllocatePoolWithTag(PagedPool, -// modulesSize, -// '30LW'); -// if (NULL == modules) { -// status = STATUS_INSUFFICIENT_RESOURCES; -// goto exit; -// } - -// // -// // Request the modules array be filled with module information. -// // -// status = AuxKlibQueryModuleInformation(&modulesSize, -// sizeof(AUX_MODULE_EXTENDED_INFO), -// modules); - -// if (!NT_SUCCESS(status)) { -// goto exit; -// } - -// // -// // Traverse list, searching for the well known address in Image for which the -// // module's Image Base Address is in its range. -// // -// module = modules; - -// for (i=0; i < numberOfModules; i++) { - -// if (addressInImage >= module->BasicInfo.ImageBase && -// addressInImage < WDF_PTR_ADD_OFFSET(module->BasicInfo.ImageBase, -// module->ImageSize)) { - -// *ImageBase = module->BasicInfo.ImageBase; -// *ImageSize = module->ImageSize; - -// status = STATUS_SUCCESS; -// goto exit; -// } -// module++; -// } - -// status = STATUS_NOT_FOUND; - -// exit: - -// if (modules != NULL) { -// ExFreePool(modules); -// modules = NULL; -// } - -// return status; - ROSWDFNOTIMPLEMENTED; - return STATUS_NOT_IMPLEMENTED; + NTSTATUS status = STATUS_UNSUCCESSFUL; + ULONG modulesSize = 0; + AUX_MODULE_EXTENDED_INFO* modules = NULL; + AUX_MODULE_EXTENDED_INFO* module; + PVOID addressInImage = NULL; + ULONG numberOfModules; + ULONG i; + + // + // Basic validation. + // + if (NULL == DriverObject || NULL == ImageBase || NULL == ImageSize) { + status = STATUS_INVALID_PARAMETER; + goto exit; + } + + // + // Get the address of a well known entry in the Image. + // + addressInImage = (PVOID) DriverObject->DriverStart; + ASSERT(addressInImage != NULL); + + // + // Initialize the AUX Kernel Library. + // + status = AuxKlibInitialize(); + if (!NT_SUCCESS(status)) { + goto exit; + } + + // + // Get size of area needed for loaded modules. + // + status = AuxKlibQueryModuleInformation(&modulesSize, + sizeof(AUX_MODULE_EXTENDED_INFO), + NULL); + + if (!NT_SUCCESS(status) || (0 == modulesSize)) { + goto exit; + } + + numberOfModules = modulesSize / sizeof(AUX_MODULE_EXTENDED_INFO); + + // + // Allocate returned-sized memory for the modules area. + // + modules = (AUX_MODULE_EXTENDED_INFO*) ExAllocatePoolWithTag(PagedPool, + modulesSize, + '30LW'); + if (NULL == modules) { + status = STATUS_INSUFFICIENT_RESOURCES; + goto exit; + } + + // + // Request the modules array be filled with module information. + // + status = AuxKlibQueryModuleInformation(&modulesSize, + sizeof(AUX_MODULE_EXTENDED_INFO), + modules); + + if (!NT_SUCCESS(status)) { + goto exit; + } + + // + // Traverse list, searching for the well known address in Image for which the + // module's Image Base Address is in its range. + // + module = modules; + + for (i=0; i < numberOfModules; i++) { + + if (addressInImage >= module->BasicInfo.ImageBase && + addressInImage < WDF_PTR_ADD_OFFSET(module->BasicInfo.ImageBase, + module->ImageSize)) { + + *ImageBase = module->BasicInfo.ImageBase; + *ImageSize = module->ImageSize; + + status = STATUS_SUCCESS; + goto exit; + } + module++; + } + + status = STATUS_NOT_FOUND; + +exit: + + if (modules != NULL) { + ExFreePool(modules); + modules = NULL; + } + + return status; } _Must_inspect_result_ @@ -248,61 +246,59 @@ Return Value: --*/ { - // PVOID codeAddr = NULL; - // BOOLEAN found = FALSE; - // KBUGCHECK_DATA bugCheckData = {0}; - - // if (FxDriverGlobals->FxForceLogsInMiniDump) { - // return TRUE; - // } - - // // - // // Retrieve the bugcheck parameters. - // // - // bugCheckData.BugCheckDataSize = sizeof(KBUGCHECK_DATA); - // AuxKlibGetBugCheckData(&bugCheckData); - - // // - // // Check whether the code address that caused the bugcheck is from this wdf - // // driver. - // // - // switch (bugCheckData.BugCheckCode) { - - // case KERNEL_APC_PENDING_DURING_EXIT: // 0x20 - // codeAddr = (PVOID)bugCheckData.Parameter1; - // found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); - // break; - - // case KMODE_EXCEPTION_NOT_HANDLED: // 0x1E - // case SYSTEM_THREAD_EXCEPTION_NOT_HANDLED: // 0x7E - // case KERNEL_MODE_EXCEPTION_NOT_HANDLED: // 0x8E - // codeAddr = (PVOID)bugCheckData.Parameter2; - // found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); - // break; - - // case PAGE_FAULT_IN_NONPAGED_AREA: // 0x50 - // codeAddr = (PVOID)bugCheckData.Parameter3; - // found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); - // break; - - // case IRQL_NOT_LESS_OR_EQUAL: // 0xA - // case DRIVER_IRQL_NOT_LESS_OR_EQUAL: // 0xD1 - // codeAddr = (PVOID)bugCheckData.Parameter4; - // found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); - // break; - // } - - // // - // // If the code address was found in the wdf driver, then set the flag in the - // // driver globals to indicate that the IFR data has to be written to the - // // mini-dump. - // // - // if (found) { - // FxDriverGlobals->FxForceLogsInMiniDump = TRUE; - // } - // return found; - ROSWDFNOTIMPLEMENTED; - return FALSE; + PVOID codeAddr = NULL; + BOOLEAN found = FALSE; + KBUGCHECK_DATA bugCheckData = {0}; + + if (FxDriverGlobals->FxForceLogsInMiniDump) { + return TRUE; + } + + // + // Retrieve the bugcheck parameters. + // + bugCheckData.BugCheckDataSize = sizeof(KBUGCHECK_DATA); + AuxKlibGetBugCheckData(&bugCheckData); + + // + // Check whether the code address that caused the bugcheck is from this wdf + // driver. + // + switch (bugCheckData.BugCheckCode) { + + case KERNEL_APC_PENDING_DURING_EXIT: // 0x20 + codeAddr = (PVOID)bugCheckData.Parameter1; + found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); + break; + + case KMODE_EXCEPTION_NOT_HANDLED: // 0x1E + case SYSTEM_THREAD_EXCEPTION_NOT_HANDLED: // 0x7E + case KERNEL_MODE_EXCEPTION_NOT_HANDLED: // 0x8E + codeAddr = (PVOID)bugCheckData.Parameter2; + found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); + break; + + case PAGE_FAULT_IN_NONPAGED_AREA: // 0x50 + codeAddr = (PVOID)bugCheckData.Parameter3; + found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); + break; + + case IRQL_NOT_LESS_OR_EQUAL: // 0xA + case DRIVER_IRQL_NOT_LESS_OR_EQUAL: // 0xD1 + codeAddr = (PVOID)bugCheckData.Parameter4; + found = FxpIsAddressKnownToWdf(codeAddr, FxDriverGlobals); + break; + } + + // + // If the code address was found in the wdf driver, then set the flag in the + // driver globals to indicate that the IFR data has to be written to the + // mini-dump. + // + if (found) { + FxDriverGlobals->FxForceLogsInMiniDump = TRUE; + } + return found; } VOID
3 years, 9 months
1
0
0
0
[reactos] 01/01: [SHELL32] Enable auto-completion on 'Folder Options' > 'Change Icon' (#3522)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=a63213272aface243b0c4…
commit a63213272aface243b0c4e01c770e945d107f5d9 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Wed Mar 10 21:00:36 2021 +0900 Commit: GitHub <noreply(a)github.com> CommitDate: Wed Mar 10 21:00:36 2021 +0900 [SHELL32] Enable auto-completion on 'Folder Options' > 'Change Icon' (#3522) CORE-9281 --- dll/win32/shell32/dialogs/dialogs.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dll/win32/shell32/dialogs/dialogs.cpp b/dll/win32/shell32/dialogs/dialogs.cpp index 2094bc8d188..e576dbc0bfb 100644 --- a/dll/win32/shell32/dialogs/dialogs.cpp +++ b/dll/win32/shell32/dialogs/dialogs.cpp @@ -232,6 +232,8 @@ INT_PTR CALLBACK PickIconProc( SendMessageW(pIconContext->hDlgCtrl, LB_SETCURSEL, pIconContext->Index, 0); SendMessageW(pIconContext->hDlgCtrl, LB_SETTOPINDEX, pIconContext->Index, 0); } + + SHAutoComplete(GetDlgItem(hwndDlg, IDC_EDIT_PATH), SHACF_DEFAULT); return TRUE; }
3 years, 9 months
1
0
0
0
← Newer
1
...
7
8
9
10
11
12
13
...
17
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Results per page:
10
25
50
100
200