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
February 2020
----- 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
27 participants
239 discussions
Start a n
N
ew thread
[reactos] 01/01: [SHELL32] Fix and improve SHLimitInputEdit
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=ea8a6d6fb78629eab0d36…
commit ea8a6d6fb78629eab0d36291a24716623f3a05b8 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Tue Feb 11 14:10:38 2020 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Tue Feb 11 14:10:38 2020 +0900 [SHELL32] Fix and improve SHLimitInputEdit Use CallWindowProcW to call the subclass window procedure. Use Wide functions explicitly. CORE-11701 --- dll/win32/shell32/wine/shellord.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/dll/win32/shell32/wine/shellord.c b/dll/win32/shell32/wine/shellord.c index f63e0b1a59a..404ecc2a98b 100644 --- a/dll/win32/shell32/wine/shellord.c +++ b/dll/win32/shell32/wine/shellord.c @@ -2153,7 +2153,7 @@ BOOL WINAPI IsUserAnAdmin(VOID) * SHLimitInputEdit(SHELL32.@) */ -/* TODO: Show baloon popup window using SetWindowRgn */ +/* TODO: Show baloon popup window with TTS_BALLOON */ typedef struct UxSubclassInfo { @@ -2174,7 +2174,7 @@ UxSubclassInfo_Destroy(UxSubclassInfo *pInfo) CoTaskMemFree(pInfo->pwszValidChars); CoTaskMemFree(pInfo->pwszInvalidChars); - SetWindowLongPtr(pInfo->hwnd, GWLP_WNDPROC, (LONG_PTR)pInfo->fnWndProc); + SetWindowLongPtrW(pInfo->hwnd, GWLP_WNDPROC, (LONG_PTR)pInfo->fnWndProc); HeapFree(GetProcessHeap(), 0, pInfo); } @@ -2185,7 +2185,7 @@ LimitEditWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) WNDPROC fnWndProc; UxSubclassInfo *pInfo = GetPropW(hwnd, L"UxSubclassInfo"); if (!pInfo) - return DefWindowProc(hwnd, uMsg, wParam, lParam); + return DefWindowProcW(hwnd, uMsg, wParam, lParam); fnWndProc = pInfo->fnWndProc; @@ -2209,7 +2209,7 @@ LimitEditWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) break; } } - return fnWndProc(hwnd, uMsg, wParam, lParam); + return CallWindowProcW(fnWndProc, hwnd, uMsg, wParam, lParam); } case WM_IME_CHAR: @@ -2237,17 +2237,17 @@ LimitEditWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) break; } } - return fnWndProc(hwnd, uMsg, wParam, lParam); + return CallWindowProcW(fnWndProc, hwnd, uMsg, wParam, lParam); } case WM_NCDESTROY: { UxSubclassInfo_Destroy(pInfo); - return fnWndProc(hwnd, uMsg, wParam, lParam); + return CallWindowProcW(fnWndProc, hwnd, uMsg, wParam, lParam); } default: - return fnWndProc(hwnd, uMsg, wParam, lParam); + return CallWindowProcW(fnWndProc, hwnd, uMsg, wParam, lParam); } return 0; @@ -2266,10 +2266,10 @@ UxSubclassInfo_Create(HWND hwnd, LPWSTR valid, LPWSTR invalid) return NULL; } - pInfo->fnWndProc = (WNDPROC)SetWindowLongPtr(hwnd, GWLP_WNDPROC, (LONG_PTR)LimitEditWindowProc); + pInfo->fnWndProc = (WNDPROC)SetWindowLongPtrW(hwnd, GWLP_WNDPROC, (LONG_PTR)LimitEditWindowProc); if (!pInfo->fnWndProc) { - ERR("SetWindowLongPtr failed\n"); + ERR("SetWindowLongPtrW failed\n"); CoTaskMemFree(valid); CoTaskMemFree(invalid); HeapFree(GetProcessHeap(), 0, pInfo);
4 years, 10 months
1
0
0
0
[reactos] 01/01: [MMSYS] Select a property page by command line, for expample 'control mmsys.cpl, , 1'
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=065a0bbf0f140f551dc1a…
commit 065a0bbf0f140f551dc1a7993cfe209b1370ae3b Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Tue Feb 11 05:40:59 2020 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Tue Feb 11 05:42:27 2020 +0100 [MMSYS] Select a property page by command line, for expample 'control mmsys.cpl,,1' --- dll/cpl/mmsys/mmsys.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dll/cpl/mmsys/mmsys.c b/dll/cpl/mmsys/mmsys.c index 7b8ab726446..b77b390c25d 100644 --- a/dll/cpl/mmsys/mmsys.c +++ b/dll/cpl/mmsys/mmsys.c @@ -715,11 +715,15 @@ MmSysApplet(HWND hwnd, PROPSHEETPAGE psp[5]; PROPSHEETHEADER psh; // = { 0 }; TCHAR Caption[256]; + INT nPage = 0; UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(uMsg); + if (uMsg == CPL_STARTWPARMSW && lParam != 0) + nPage = _wtoi((PWSTR)lParam); + LoadString(hApplet, IDS_CPLNAME, Caption, _countof(Caption)); psh.dwSize = sizeof(PROPSHEETHEADER); @@ -739,6 +743,9 @@ MmSysApplet(HWND hwnd, InitPropSheetPage(&psp[3], IDD_VOICE,VoiceDlgProc); InitPropSheetPage(&psp[4], IDD_HARDWARE,HardwareDlgProc); + if (nPage != 0 && nPage <= psh.nPages) + psh.nStartPage = nPage; + return (LONG)(PropertySheet(&psh) != -1); } @@ -792,6 +799,9 @@ CPlApplet(HWND hwndCpl, lParam2); break; } + + case CPL_STARTWPARMSW: + return Applets[(UINT)lParam1].AppletProc(hwndCpl, uMsg, lParam1, lParam2); } return FALSE;
4 years, 10 months
1
0
0
0
[reactos] 01/01: [SHELL32] DoGetProductType should check "LanmanNT" value.
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=9e53e7cd5bdb29f1dc158…
commit 9e53e7cd5bdb29f1dc1584abdf3827ef02113776 Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Tue Feb 11 13:11:58 2020 +0900 Commit: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> CommitDate: Tue Feb 11 13:11:58 2020 +0900 [SHELL32] DoGetProductType should check "LanmanNT" value. CORE-13795 --- dll/win32/shell32/wine/shellpath.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dll/win32/shell32/wine/shellpath.c b/dll/win32/shell32/wine/shellpath.c index 5bf0c98e617..3c7ee6a3529 100644 --- a/dll/win32/shell32/wine/shellpath.c +++ b/dll/win32/shell32/wine/shellpath.c @@ -92,6 +92,8 @@ DoGetProductType(PNT_PRODUCT_TYPE ProductType) { if (lstrcmpW(szValue, L"WinNT") == 0) *ProductType = NtProductWinNt; + else if (lstrcmpW(szValue, L"LanmanNT") == 0) + *ProductType = NtProductLanManNt; } s_dwProductType = *ProductType;
4 years, 10 months
1
0
0
0
[reactos] 01/01: [USER32_APITEST] Strengthen ScrollWindowEx for SW_SCROLLCHILDREN (#2324)
by Katayama Hirofumi MZ
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=eb227153e5966b015c84a…
commit eb227153e5966b015c84ae1d1f345ce2b09bb85d Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com> AuthorDate: Tue Feb 11 11:27:55 2020 +0900 Commit: GitHub <noreply(a)github.com> CommitDate: Tue Feb 11 11:27:55 2020 +0900 [USER32_APITEST] Strengthen ScrollWindowEx for SW_SCROLLCHILDREN (#2324) Improve ScrollWindowEx testcase for investigation of SW_SCROLLCHILDREN flag. CORE-16687, CORE-12114 --- modules/rostests/apitests/user32/ScrollWindowEx.c | 143 +++++++++++++++------- 1 file changed, 100 insertions(+), 43 deletions(-) diff --git a/modules/rostests/apitests/user32/ScrollWindowEx.c b/modules/rostests/apitests/user32/ScrollWindowEx.c index 4d403174aae..b2bac9e6f7b 100644 --- a/modules/rostests/apitests/user32/ScrollWindowEx.c +++ b/modules/rostests/apitests/user32/ScrollWindowEx.c @@ -3,54 +3,111 @@ * LICENSE: GPL - See COPYING in the top level directory * PURPOSE: Test for ScrollWindowEx * PROGRAMMERS: Timo Kreuzer + * Katayama Hirofumi MZ */ #include "precomp.h" -void Test_ScrollWindowEx() +void +Test_ScrollWindowEx() { - HWND hWnd; - HRGN hrgn; - int Result; - - /* Create a window */ - hWnd = CreateWindowW(L"BUTTON", L"TestWindow", WS_OVERLAPPEDWINDOW | WS_VISIBLE, - CW_USEDEFAULT, CW_USEDEFAULT, 100, 100, - NULL, NULL, 0, 0); - UpdateWindow(hWnd); - - /* Assert that no update region is there */ - hrgn = CreateRectRgn(0,0,0,0); - Result = GetUpdateRgn(hWnd, hrgn, FALSE); - ok(Result == NULLREGION, "Result = %d\n", Result); - - Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, NULL, 0); - ok(Result == SIMPLEREGION, "Result = %d\n", Result); - Result = GetUpdateRgn(hWnd, hrgn, FALSE); - ok(Result == NULLREGION, "Result = %d\n", Result); - - Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, NULL, SW_INVALIDATE); - ok(Result == SIMPLEREGION, "Result = %d\n", Result); - Result = GetUpdateRgn(hWnd, hrgn, FALSE); - ok(Result == SIMPLEREGION, "Result = %d\n", Result); - UpdateWindow(hWnd); - - // test invalid update region - DeleteObject(hrgn); - Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, hrgn, NULL, SW_INVALIDATE); - ok(Result == ERROR, "Result = %d\n", Result); - hrgn = CreateRectRgn(0,0,0,0); - UpdateWindow(hWnd); - - // Test invalid updaterect pointer - Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, (LPRECT)1, SW_INVALIDATE); - ok(Result == ERROR, "Result = %d\n", Result); - Result = GetUpdateRgn(hWnd, hrgn, FALSE); - ok(Result == SIMPLEREGION, "Result = %d\n", Result); - -// test for alignment of rects - - DeleteObject(hrgn); + HWND hWnd, hChild1, hChild2; + HRGN hrgn; + int Result; + RECT rc, rcChild1, rcChild2; + INT x1, y1, x2, y2, dx, dy; + DWORD style; + + /* Create a window */ + style = WS_POPUP | SS_WHITERECT | WS_VISIBLE; + hWnd = CreateWindowW(L"STATIC", L"TestWindow", style, CW_USEDEFAULT, CW_USEDEFAULT, 100, 100, NULL, NULL, 0, 0); + ok(hWnd != NULL, "hWnd was NULL.\n"); + UpdateWindow(hWnd); + + /* Assert that no update region is there */ + hrgn = CreateRectRgn(0, 0, 0, 0); + Result = GetUpdateRgn(hWnd, hrgn, FALSE); + ok(Result == NULLREGION, "Result = %d\n", Result); + + Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, NULL, 0); + ok(Result == SIMPLEREGION, "Result = %d\n", Result); + Result = GetUpdateRgn(hWnd, hrgn, FALSE); + ok(Result == NULLREGION, "Result = %d\n", Result); + + Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, NULL, SW_INVALIDATE); + ok(Result == SIMPLEREGION, "Result = %d\n", Result); + Result = GetUpdateRgn(hWnd, hrgn, FALSE); + ok(Result == SIMPLEREGION, "Result = %d\n", Result); + UpdateWindow(hWnd); + + // test invalid update region + DeleteObject(hrgn); + Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, hrgn, NULL, SW_INVALIDATE); + ok(Result == ERROR, "Result = %d\n", Result); + hrgn = CreateRectRgn(0, 0, 0, 0); + UpdateWindow(hWnd); + + // Test invalid updaterect pointer + Result = ScrollWindowEx(hWnd, 20, 0, NULL, NULL, NULL, (LPRECT)1, SW_INVALIDATE); + ok(Result == ERROR, "Result = %d\n", Result); + Result = GetUpdateRgn(hWnd, hrgn, FALSE); + ok(Result == SIMPLEREGION, "Result = %d\n", Result); + + /* create child window 1 */ + x1 = 1; + y1 = 3; + style = WS_CHILD | WS_VISIBLE | SS_BLACKRECT; + hChild1 = CreateWindowW(L"STATIC", L"Child1", style, x1, y1, 10, 10, hWnd, NULL, 0, 0); + ok(hChild1 != NULL, "hChild1 was NULL.\n"); + UpdateWindow(hChild1); + + /* create child window 2 */ + x2 = 5; + y2 = 7; + style = WS_CHILD | WS_VISIBLE | SS_WHITERECT; + hChild2 = CreateWindowW(L"STATIC", L"Child2", style, x2, y2, 10, 10, hWnd, NULL, 0, 0); + ok(hChild2 != NULL, "hChild2 was NULL.\n"); + UpdateWindow(hChild2); + + /* scroll with child windows */ + dx = 3; + dy = 8; + ScrollWindowEx(hWnd, dx, dy, NULL, NULL, NULL, NULL, SW_SCROLLCHILDREN); + UpdateWindow(hWnd); + + /* check the positions */ + GetWindowRect(hWnd, &rc); + GetWindowRect(hChild1, &rcChild1); + GetWindowRect(hChild2, &rcChild2); + ok_long(rcChild1.left - rc.left, x1 + dx); + ok_long(rcChild2.left - rc.left, x2 + dx); + ok_long(rcChild1.top - rc.top, y1 + dy); + ok_long(rcChild2.top - rc.top, y2 + dy); + + /* update */ + x1 += dx; + y1 += dy; + x2 += dx; + y2 += dy; + + /* scroll with child windows */ + dx = 9; + dy = -2; + ScrollWindowEx(hWnd, dx, dy, NULL, NULL, NULL, NULL, SW_SCROLLCHILDREN); + UpdateWindow(hWnd); + + /* check the positions */ + GetWindowRect(hWnd, &rc); + GetWindowRect(hChild1, &rcChild1); + GetWindowRect(hChild2, &rcChild2); + ok_long(rcChild1.left - rc.left, x1 + dx); + ok_long(rcChild2.left - rc.left, x2 + dx); + ok_long(rcChild1.top - rc.top, y1 + dy); + ok_long(rcChild2.top - rc.top, y2 + dy); + + DestroyWindow(hChild1); + DestroyWindow(hChild2); + DeleteObject(hrgn); DestroyWindow(hWnd); }
4 years, 10 months
1
0
0
0
[reactos] 01/01: [CMAKE][BOOTDATA] Properly load Xbox video miniport driver in LiveCD (#2325)
by Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=988f97913990beb3f79f5…
commit 988f97913990beb3f79f518b889ad17394fbe708 Author: Stanislav Motylkov <x86corez(a)gmail.com> AuthorDate: Tue Feb 11 01:20:12 2020 +0300 Commit: GitHub <noreply(a)github.com> CommitDate: Mon Feb 10 23:20:12 2020 +0100 [CMAKE][BOOTDATA] Properly load Xbox video miniport driver in LiveCD (#2325) Surprisingly this also happens to "fix" random "Invalid Opcode" exceptions in XQEMU. (But I think it's more like a coincidence... --hbelusca) CORE-16627 CORE-16216 --- boot/bootdata/hiveinst_xbox.inf | 19 +++++++++++++++++++ sdk/cmake/CMakeMacros.cmake | 10 ++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/boot/bootdata/hiveinst_xbox.inf b/boot/bootdata/hiveinst_xbox.inf new file mode 100644 index 00000000000..0cb2fe6e581 --- /dev/null +++ b/boot/bootdata/hiveinst_xbox.inf @@ -0,0 +1,19 @@ +[Version] +Signature = "$Windows NT$" + +[AddReg] +; Enable _one_ driver per section by removing the leading semicolon. + +; +; Display driver section +; + +; Xbox Nvidia driver +HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","ErrorControl",0x00010001,0x00000000 +HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Group",0x00000000,"Video Save" +HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","ImagePath",0x00020000,"system32\drivers\xboxvmp.sys" +HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Start",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Services\XboxVmp","Type",0x00010001,0x00000001 +HKLM,"SYSTEM\CurrentControlSet\Enum\PCI\VEN_10DE&DEV_02A0&SUBSYS_00000000&REV_A1\0000","Service",0x00000000,"XboxVmp" +HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\XboxVmp\Device0","InstalledDisplayDrivers",0x00010000,"framebuf" +HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\XboxVmp\Device0","VgaCompatible",0x00010001,1 diff --git a/sdk/cmake/CMakeMacros.cmake b/sdk/cmake/CMakeMacros.cmake index 2acff80ec8b..1c92605039f 100644 --- a/sdk/cmake/CMakeMacros.cmake +++ b/sdk/cmake/CMakeMacros.cmake @@ -853,8 +853,14 @@ function(create_registry_hives) # LiveCD hives list(APPEND _livecd_inf_files ${_registry_inf} - ${CMAKE_SOURCE_DIR}/boot/bootdata/livecd.inf - ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst.inf) + ${CMAKE_SOURCE_DIR}/boot/bootdata/livecd.inf) + if(SARCH STREQUAL "xbox") + list(APPEND _livecd_inf_files + ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst_xbox.inf) + else() + list(APPEND _livecd_inf_files + ${CMAKE_SOURCE_DIR}/boot/bootdata/hiveinst.inf) + endif() add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/boot/bootdata/system
4 years, 10 months
1
0
0
0
[reactos] 04/04: [ISAPNP] Implement IRP_MN_QUERY_CAPABILITIES + IRP_MN_QUERY_ID
by Hervé Poussineau
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=47886766713b8c1698897…
commit 47886766713b8c16988971cbb63d43206bf8de4f Author: Hervé Poussineau <hpoussin(a)reactos.org> AuthorDate: Mon Feb 10 21:31:28 2020 +0100 Commit: Hervé Poussineau <hpoussin(a)reactos.org> CommitDate: Mon Feb 10 21:33:36 2020 +0100 [ISAPNP] Implement IRP_MN_QUERY_CAPABILITIES + IRP_MN_QUERY_ID --- drivers/bus/isapnp/isapnp.h | 1 + drivers/bus/isapnp/pdo.c | 110 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) diff --git a/drivers/bus/isapnp/isapnp.h b/drivers/bus/isapnp/isapnp.h index aaa0f2c9962..538e33b9063 100644 --- a/drivers/bus/isapnp/isapnp.h +++ b/drivers/bus/isapnp/isapnp.h @@ -2,6 +2,7 @@ #define _ISAPNP_PCH_ #include <wdm.h> +#include <ntstrsafe.h> #ifdef __cplusplus extern "C" { diff --git a/drivers/bus/isapnp/pdo.c b/drivers/bus/isapnp/pdo.c index aec13d8b2d4..619d3fc4e06 100644 --- a/drivers/bus/isapnp/pdo.c +++ b/drivers/bus/isapnp/pdo.c @@ -35,6 +35,108 @@ IsaPdoQueryDeviceRelations( return STATUS_SUCCESS; } +NTSTATUS +NTAPI +IsaPdoQueryCapabilities( + IN PISAPNP_LOGICAL_DEVICE LogDev, + IN PIRP Irp, + IN PIO_STACK_LOCATION IrpSp) +{ + PDEVICE_CAPABILITIES DeviceCapabilities; + + DeviceCapabilities = IrpSp->Parameters.DeviceCapabilities.Capabilities; + if (DeviceCapabilities->Version != 1) + return STATUS_UNSUCCESSFUL; + + DeviceCapabilities->UniqueID = LogDev->SerialNumber != 0xffffffff; + DeviceCapabilities->Address = LogDev->CSN; + + return STATUS_SUCCESS; +} + +NTSTATUS +NTAPI +IsaPdoQueryId( + IN PISAPNP_LOGICAL_DEVICE LogDev, + IN PIRP Irp, + IN PIO_STACK_LOCATION IrpSp) +{ + WCHAR Temp[256]; + PWCHAR Buffer, End; + ULONG Length; + NTSTATUS Status; + + switch (IrpSp->Parameters.QueryId.IdType) + { + case BusQueryDeviceID: + { + DPRINT("IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryDeviceID\n"); + Status = RtlStringCbPrintfExW(Temp, sizeof(Temp), + &End, + NULL, 0, + L"ISAPNP\\%3S%04X", + LogDev->VendorId, + LogDev->ProdId); + if (!NT_SUCCESS(Status)) + return Status; + Length = End - Temp; + Temp[Length++] = UNICODE_NULL; + break; + } + + case BusQueryHardwareIDs: + DPRINT("IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryHardwareIDs\n"); + Status = RtlStringCbPrintfExW(Temp, sizeof(Temp), + &End, + NULL, 0, + L"ISAPNP\\%3S%04X", + LogDev->VendorId, + LogDev->ProdId); + if (!NT_SUCCESS(Status)) + return Status; + Length = End - Temp; + Temp[Length++] = UNICODE_NULL; + Status = RtlStringCbPrintfExW(Temp + Length, sizeof(Temp) - Length, + &End, + NULL, 0, + L"*%3S%04X", + LogDev->VendorId, + LogDev->ProdId); + if (!NT_SUCCESS(Status)) + return Status; + Length = End - Temp; + Temp[Length++] = UNICODE_NULL; + Temp[Length++] = UNICODE_NULL; + break; + + case BusQueryInstanceID: + DPRINT("IRP_MJ_PNP / IRP_MN_QUERY_ID / BusQueryInstanceID\n"); + Status = RtlStringCbPrintfExW(Temp, sizeof(Temp), + &End, + NULL, 0, + L"%u", + LogDev->SerialNumber); + if (!NT_SUCCESS(Status)) + return Status; + Length = End - Temp; + Temp[Length++] = UNICODE_NULL; + break; + + default: + DPRINT1("IRP_MJ_PNP / IRP_MN_QUERY_ID / unknown query id type 0x%lx\n", + IrpSp->Parameters.QueryId.IdType); + return Irp->IoStatus.Status; + } + + Buffer = ExAllocatePool(PagedPool, Length * sizeof(WCHAR)); + if (!Buffer) + return STATUS_NO_MEMORY; + + RtlCopyMemory(Buffer, Temp, Length * sizeof(WCHAR)); + Irp->IoStatus.Information = (ULONG_PTR)Buffer; + return STATUS_SUCCESS; +} + NTSTATUS NTAPI IsaPdoPnp( @@ -64,6 +166,10 @@ IsaPdoPnp( Status = IsaPdoQueryDeviceRelations(LogDev, Irp, IrpSp); break; + case IRP_MN_QUERY_CAPABILITIES: + Status = IsaPdoQueryCapabilities(LogDev, Irp, IrpSp); + break; + case IRP_MN_QUERY_RESOURCES: DPRINT1("IRP_MN_QUERY_RESOURCES is UNIMPLEMENTED!\n"); break; @@ -72,6 +178,10 @@ IsaPdoPnp( DPRINT1("IRP_MN_QUERY_RESOURCE_REQUIREMENTS is UNIMPLEMENTED!\n"); break; + case IRP_MN_QUERY_ID: + Status = IsaPdoQueryId(LogDev, Irp, IrpSp); + break; + default: DPRINT1("Unknown PnP code: %x\n", IrpSp->MinorFunction); break;
4 years, 10 months
1
0
0
0
[reactos] 03/04: [ISAPNP] Also read serial numbers of devices
by Hervé Poussineau
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=c96ba5a713b70c61403ec…
commit c96ba5a713b70c61403ec993a25745e75f6d1200 Author: Hervé Poussineau <hpoussin(a)reactos.org> AuthorDate: Mon Feb 10 21:30:07 2020 +0100 Commit: Hervé Poussineau <hpoussin(a)reactos.org> CommitDate: Mon Feb 10 21:33:36 2020 +0100 [ISAPNP] Also read serial numbers of devices --- drivers/bus/isapnp/hardware.c | 5 +++-- drivers/bus/isapnp/isapnp.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/bus/isapnp/hardware.c b/drivers/bus/isapnp/hardware.c index be7eda08a47..fbf53eb8059 100644 --- a/drivers/bus/isapnp/hardware.c +++ b/drivers/bus/isapnp/hardware.c @@ -516,11 +516,12 @@ ProbeIsaPnpBus(PISAPNP_FDO_EXTENSION FdoExt) LogDevice->VendorId[1] = (((LogDevId.VendorId & 0x3) << 3) | ((LogDevId.VendorId >> 13) & 0x7)) + 'A' - 1, LogDevice->VendorId[2] = ((LogDevId.VendorId >> 8) & 0x1f) + 'A' - 1, LogDevice->ProdId = RtlUshortByteSwap(LogDevId.ProdId); + LogDevice->SerialNumber = RtlUlongByteSwap(Identifier.Serial); LogDevice->IoAddr = ReadIoBase(FdoExt->ReadDataPort, 0); LogDevice->IrqNo = ReadIrqNo(FdoExt->ReadDataPort, 0); - DPRINT1("Detected ISA PnP device - VID: '%3s' PID: 0x%x IoBase: 0x%x IRQ:0x%x\n", - LogDevice->VendorId, LogDevice->ProdId, LogDevice->IoAddr, LogDevice->IrqNo); + DPRINT1("Detected ISA PnP device - VID: '%3s' PID: 0x%x SN: 0x04x IoBase: 0x%x IRQ:0x%x\n", + LogDevice->VendorId, LogDevice->ProdId, LogDevice->SerialNumber, LogDevice->IoAddr, LogDevice->IrqNo); WaitForKey(); diff --git a/drivers/bus/isapnp/isapnp.h b/drivers/bus/isapnp/isapnp.h index cb7e64d44ab..aaa0f2c9962 100644 --- a/drivers/bus/isapnp/isapnp.h +++ b/drivers/bus/isapnp/isapnp.h @@ -34,6 +34,7 @@ typedef struct _ISAPNP_LOGICAL_DEVICE { ISAPNP_COMMON_EXTENSION Common; UCHAR VendorId[3]; USHORT ProdId; + ULONG SerialNumber; USHORT IoAddr; UCHAR IrqNo; UCHAR CSN;
4 years, 10 months
1
0
0
0
[reactos] 02/04: [ISAPNP] Store VendorId/ProdId in the usual form
by Hervé Poussineau
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=bec0ceb82f2ca3d044269…
commit bec0ceb82f2ca3d04426934ff536f9f417921c80 Author: Hervé Poussineau <hpoussin(a)reactos.org> AuthorDate: Mon Feb 10 21:29:28 2020 +0100 Commit: Hervé Poussineau <hpoussin(a)reactos.org> CommitDate: Mon Feb 10 21:33:36 2020 +0100 [ISAPNP] Store VendorId/ProdId in the usual form --- drivers/bus/isapnp/hardware.c | 8 +++++--- drivers/bus/isapnp/isapnp.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/bus/isapnp/hardware.c b/drivers/bus/isapnp/hardware.c index 6922349a53c..be7eda08a47 100644 --- a/drivers/bus/isapnp/hardware.c +++ b/drivers/bus/isapnp/hardware.c @@ -512,12 +512,14 @@ ProbeIsaPnpBus(PISAPNP_FDO_EXTENSION FdoExt) WriteLogicalDeviceNumber(LogDev); - LogDevice->VendorId = LogDevId.VendorId; - LogDevice->ProdId = LogDevId.ProdId; + LogDevice->VendorId[0] = ((LogDevId.VendorId >> 2) & 0x1f) + 'A' - 1, + LogDevice->VendorId[1] = (((LogDevId.VendorId & 0x3) << 3) | ((LogDevId.VendorId >> 13) & 0x7)) + 'A' - 1, + LogDevice->VendorId[2] = ((LogDevId.VendorId >> 8) & 0x1f) + 'A' - 1, + LogDevice->ProdId = RtlUshortByteSwap(LogDevId.ProdId); LogDevice->IoAddr = ReadIoBase(FdoExt->ReadDataPort, 0); LogDevice->IrqNo = ReadIrqNo(FdoExt->ReadDataPort, 0); - DPRINT1("Detected ISA PnP device - VID: 0x%x PID: 0x%x IoBase: 0x%x IRQ:0x%x\n", + DPRINT1("Detected ISA PnP device - VID: '%3s' PID: 0x%x IoBase: 0x%x IRQ:0x%x\n", LogDevice->VendorId, LogDevice->ProdId, LogDevice->IoAddr, LogDevice->IrqNo); WaitForKey(); diff --git a/drivers/bus/isapnp/isapnp.h b/drivers/bus/isapnp/isapnp.h index 04c10bd4b64..cb7e64d44ab 100644 --- a/drivers/bus/isapnp/isapnp.h +++ b/drivers/bus/isapnp/isapnp.h @@ -32,7 +32,7 @@ typedef struct _ISAPNP_FDO_EXTENSION { typedef struct _ISAPNP_LOGICAL_DEVICE { ISAPNP_COMMON_EXTENSION Common; - USHORT VendorId; + UCHAR VendorId[3]; USHORT ProdId; USHORT IoAddr; UCHAR IrqNo;
4 years, 10 months
1
0
0
0
[reactos] 01/04: [ISAPNP] When skipping a wrong tag in configuration, skip the length of this tag
by Hervé Poussineau
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=8eb317389685f218666ee…
commit 8eb317389685f218666eef3c097a94f72d9f6acb Author: Hervé Poussineau <hpoussin(a)reactos.org> AuthorDate: Sat Feb 8 22:02:30 2020 +0100 Commit: Hervé Poussineau <hpoussin(a)reactos.org> CommitDate: Mon Feb 10 21:33:36 2020 +0100 [ISAPNP] When skipping a wrong tag in configuration, skip the length of this tag --- drivers/bus/isapnp/hardware.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/bus/isapnp/hardware.c b/drivers/bus/isapnp/hardware.c index 0e735f10312..6922349a53c 100644 --- a/drivers/bus/isapnp/hardware.c +++ b/drivers/bus/isapnp/hardware.c @@ -288,7 +288,7 @@ FindTag(PUCHAR ReadDataPort, USHORT WantedTag, PVOID Buffer, ULONG Length) } else { - Peek(ReadDataPort, NULL, Length); + Peek(ReadDataPort, NULL, TagLen); } } while (Tag != ISAPNP_TAG_END);
4 years, 10 months
1
0
0
0
[reactos] 01/01: [ACCESS] Select a property page by command line, for example 'control access.cpl, , 2'
by Eric Kohl
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=62721aefe5ab79efedcff…
commit 62721aefe5ab79efedcff24693d0591d60a01d0c Author: Eric Kohl <eric.kohl(a)reactos.org> AuthorDate: Mon Feb 10 09:47:59 2020 +0100 Commit: Eric Kohl <eric.kohl(a)reactos.org> CommitDate: Mon Feb 10 09:48:37 2020 +0100 [ACCESS] Select a property page by command line, for example 'control access.cpl,,2' --- dll/cpl/access/access.c | 20 ++++++++++++++------ dll/cpl/access/access.h | 5 ++--- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/dll/cpl/access/access.c b/dll/cpl/access/access.c index 86a1f06907e..4f71945d6ef 100644 --- a/dll/cpl/access/access.c +++ b/dll/cpl/access/access.c @@ -13,9 +13,8 @@ #define NUM_APPLETS (1) -LONG CALLBACK SystemApplet(VOID); +static LONG CALLBACK SystemApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam); HINSTANCE hApplet = 0; -HWND hCPLWindow; /* Applets */ APPLET Applets[NUM_APPLETS] = @@ -185,14 +184,18 @@ PropSheetProc(HWND hwndDlg, UINT uMsg, LPARAM lParam) /* First Applet */ LONG CALLBACK -SystemApplet(VOID) +SystemApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam) { PGLOBAL_DATA pGlobalData; PROPSHEETPAGE psp[5]; PROPSHEETHEADER psh; TCHAR Caption[1024]; + INT nPage = 0; INT ret; + if (uMsg == CPL_STARTWPARMSW && lParam != 0) + nPage = _wtoi((PWSTR)lParam); + LoadString(hApplet, IDS_CPLSYSTEMNAME, Caption, sizeof(Caption) / sizeof(TCHAR)); pGlobalData = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(GLOBAL_DATA)); @@ -208,7 +211,7 @@ SystemApplet(VOID) ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); psh.dwSize = sizeof(PROPSHEETHEADER); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_USEICONID | PSH_USECALLBACK; - psh.hwndParent = hCPLWindow; + psh.hwndParent = hwnd; psh.hInstance = hApplet; psh.pszIcon = MAKEINTRESOURCEW(IDI_CPLACCESS); psh.pszCaption = Caption; @@ -223,6 +226,9 @@ SystemApplet(VOID) InitPropSheetPage(&psp[3], IDD_PROPPAGEMOUSE, MousePageProc, pGlobalData); InitPropSheetPage(&psp[4], IDD_PROPPAGEGENERAL, GeneralPageProc, pGlobalData); + if (nPage != 0 && nPage <= psh.nPages) + psh.nStartPage = nPage; + ret = PropertySheet(&psh); HeapFree(GetProcessHeap(), 0, pGlobalData); @@ -258,9 +264,11 @@ CPlApplet(HWND hwndCPl, break; case CPL_DBLCLK: - hCPLWindow = hwndCPl; - Applets[i].AppletProc(); + Applets[i].AppletProc(hwndCPl, uMsg, lParam1, lParam2); break; + + case CPL_STARTWPARMSW: + return Applets[i].AppletProc(hwndCPl, uMsg, lParam1, lParam2); } return FALSE; diff --git a/dll/cpl/access/access.h b/dll/cpl/access/access.h index 0567616fcc1..d66f90850e2 100644 --- a/dll/cpl/access/access.h +++ b/dll/cpl/access/access.h @@ -10,17 +10,16 @@ #include <winuser.h> #include <commctrl.h> #include <tchar.h> +#include <cpl.h> #include "resource.h" -typedef LONG (CALLBACK *APPLET_INITPROC)(VOID); - typedef struct _APPLET { INT idIcon; INT idName; INT idDescription; - APPLET_INITPROC AppletProc; + APPLET_PROC AppletProc; } APPLET, *PAPPLET;
4 years, 10 months
1
0
0
0
← Newer
1
...
15
16
17
18
19
20
21
...
24
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
Results per page:
10
25
50
100
200