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
2025
January
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
June 2016
----- 2025 -----
January 2025
----- 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
17 participants
228 discussions
Start a n
N
ew thread
[akhaldi] 71517: [ADVAPI32_WINETEST] Sync with Wine Staging 1.9.11. CORE-11368
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Jun 4 17:57:35 2016 New Revision: 71517 URL:
http://svn.reactos.org/svn/reactos?rev=71517&view=rev
Log: [ADVAPI32_WINETEST] Sync with Wine Staging 1.9.11. CORE-11368 Modified: trunk/rostests/winetests/advapi32/registry.c trunk/rostests/winetests/advapi32/security.c Modified: trunk/rostests/winetests/advapi32/registry.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/advapi32/regist…
============================================================================== --- trunk/rostests/winetests/advapi32/registry.c [iso-8859-1] (original) +++ trunk/rostests/winetests/advapi32/registry.c [iso-8859-1] Sat Jun 4 17:57:35 2016 @@ -2237,7 +2237,7 @@ "subkey2 was not deleted\n"); size = MAX_PATH; ok(!RegQueryValueA(subkey, NULL, buffer, &size), - "Default value of subkey not longer present\n"); + "Default value of subkey no longer present\n"); ret = RegCreateKeyA(subkey, "subkey2", &subkey2); ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); @@ -2248,7 +2248,7 @@ ok(RegOpenKeyA(subkey, "subkey2", &subkey2), "subkey2 was not deleted\n"); ok(!RegQueryValueA(subkey, NULL, buffer, &size), - "Default value of subkey not longer present\n"); + "Default value of subkey no longer present\n"); ret = RegCreateKeyA(subkey, "subkey2", &subkey2); ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); @@ -2278,6 +2278,20 @@ dwsize = MAX_PATH; ok(RegQueryValueExA(subkey, "value", NULL, &type, (BYTE *)buffer, &dwsize), "Value is still present\n"); + ret = RegCloseKey(subkey); + ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); + + ret = RegOpenKeyA(hkey_main, "subkey", &subkey); + ok(ret == ERROR_SUCCESS, "subkey was deleted\n"); + ret = pRegDeleteTreeA(subkey, ""); + ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); + ret = RegCloseKey(subkey); + ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); + + ret = RegOpenKeyA(hkey_main, "subkey", &subkey); + ok(ret == ERROR_SUCCESS, "subkey was deleted\n"); + ret = RegCloseKey(subkey); + ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret); ret = pRegDeleteTreeA(hkey_main, "not-here"); ok(ret == ERROR_FILE_NOT_FOUND, @@ -2697,8 +2711,8 @@ check_key_value( key, "Winetest", 0, ptr_size ); check_key_value( key, "Winetest", KEY_WOW64_64KEY, is_vista ? 64 : ptr_size ); dw = get_key_value( key, "Winetest", KEY_WOW64_32KEY ); - if (ptr_size == 32) ok( dw == 32, "wrong value %u\n", dw ); - else todo_wine ok( dw == 32, "wrong value %u\n", dw ); + todo_wine_if (ptr_size != 32) + ok( dw == 32, "wrong value %u\n", dw ); RegCloseKey( key ); if (ptr_size == 32) @@ -3358,6 +3372,19 @@ res = RegDeleteValueA( hkey_main, longname ); ok(res == ERROR_FILE_NOT_FOUND || broken(res == ERROR_MORE_DATA), /* nt4, win2k */ "expect ERROR_FILE_NOT_FOUND, got %i\n", res); + + /* Default registry value */ + res = RegSetValueExA(hkey_main, "", 0, REG_SZ, (const BYTE *)"value", 6); + ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", res); + + res = RegQueryValueExA(hkey_main, "", NULL, NULL, NULL, NULL); + ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", res); + + res = RegDeleteValueA(hkey_main, "" ); + ok(res == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", res); + + res = RegQueryValueExA(hkey_main, "", NULL, NULL, NULL, NULL); + ok(res == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", res); } static void test_delete_key_value(void) @@ -3405,6 +3432,19 @@ ret = RegQueryValueExA(subkey, "test", NULL, NULL, NULL, NULL); ok(ret == ERROR_FILE_NOT_FOUND, "got %d\n", ret); + + /* Default registry value */ + ret = RegSetValueExA(subkey, "", 0, REG_SZ, (const BYTE *)"value", 6); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + + ret = RegQueryValueExA(subkey, "", NULL, NULL, NULL, NULL); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + + ret = pRegDeleteKeyValueA(hkey_main, "Subkey1", "" ); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + + ret = RegQueryValueExA(subkey, "", NULL, NULL, NULL, NULL); + ok(ret == ERROR_FILE_NOT_FOUND, "expected ERROR_FILE_NOT_FOUND, got %d\n", ret); RegDeleteKeyA(subkey, ""); RegCloseKey(subkey); @@ -3420,6 +3460,33 @@ ok(!ret, "got %d, error %d\n", ret, GetLastError()); ok(key != HKEY_CURRENT_USER, "got %p\n", key); RegCloseKey(key); +} + +static void test_RegNotifyChangeKeyValue(void) +{ + HKEY key, subkey; + HANDLE event; + DWORD dwret; + LONG ret; + + event = CreateEventW(NULL, FALSE, TRUE, NULL); + ok(event != NULL, "CreateEvent failed, error %u\n", GetLastError()); + ret = RegCreateKeyA(hkey_main, "TestKey", &key); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + + ret = RegNotifyChangeKeyValue(key, TRUE, REG_NOTIFY_CHANGE_NAME, event, TRUE); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + dwret = WaitForSingleObject(event, 0); + ok(dwret == WAIT_TIMEOUT, "expected WAIT_TIMEOUT, got %u\n", dwret); + + ret = RegCreateKeyA(key, "SubKey", &subkey); + ok(ret == ERROR_SUCCESS, "expected ERROR_SUCCESS, got %d\n", ret); + dwret = WaitForSingleObject(event, 0); + ok(dwret == WAIT_OBJECT_0, "expected WAIT_OBJECT_0, got %u\n", dwret); + + RegDeleteKeyA(key, ""); + RegCloseKey(key); + CloseHandle(event); } START_TEST(registry) @@ -3456,6 +3523,7 @@ test_delete_value(); test_delete_key_value(); test_RegOpenCurrentUser(); + test_RegNotifyChangeKeyValue(); /* cleanup */ delete_key( hkey_main ); Modified: trunk/rostests/winetests/advapi32/security.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/advapi32/securi…
============================================================================== --- trunk/rostests/winetests/advapi32/security.c [iso-8859-1] (original) +++ trunk/rostests/winetests/advapi32/security.c [iso-8859-1] Sat Jun 4 17:57:35 2016 @@ -3531,7 +3531,7 @@ GENERIC_ALL, admin_sid); ok(bret, "Failed to add Administrator Group to ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); GetTempPathA(MAX_PATH, tmpdir); lstrcatA(tmpdir, "Please Remove Me"); @@ -3578,7 +3578,7 @@ bret = InitializeAcl(pDacl, sizeof(ACL), ACL_REVISION); ok(bret, "Failed to initialize ACL\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor\n"); + ok(bret, "Failed to add ACL to security descriptor\n"); strcpy(tmpfile, tmpdir); lstrcatA(tmpfile, "/tmpfile"); @@ -3646,7 +3646,7 @@ bret = InitializeAcl(pDacl, sizeof(ACL), ACL_REVISION); ok(bret, "Failed to initialize ACL\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor\n"); + ok(bret, "Failed to add ACL to security descriptor\n"); strcpy(tmpfile, tmpdir); lstrcatA(tmpfile, "/tmpfile"); @@ -3671,6 +3671,7 @@ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation); ok(bret, "GetAclInformation failed\n"); + todo_wine ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", acl_size.AceCount); LocalFree(pSD); @@ -3729,7 +3730,6 @@ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation); ok(bret, "GetAclInformation failed\n"); - todo_wine ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", acl_size.AceCount); LocalFree(pSD); @@ -3970,7 +3970,7 @@ bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, 0, GENERIC_ALL, admin_sid); ok(bret, "Failed to add Administrator Group to ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); GetTempFileNameA(".", "foo", 0, tmpfile); hTemp = CreateFileA(tmpfile, WRITE_DAC|GENERIC_WRITE, FILE_SHARE_DELETE|FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_DELETE_ON_CLOSE, NULL); @@ -4078,7 +4078,7 @@ bret = InitializeAcl(pDacl, sizeof(ACL), ACL_REVISION); ok(bret, "Failed to initialize ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); status = pNtSetSecurityObject(hTemp, DACL_SECURITY_INFORMATION, pSD); ok(status == ERROR_SUCCESS, "NtSetSecurityObject returned %x\n", status); @@ -4114,7 +4114,7 @@ bret = pAddAccessDeniedAceEx(pDacl, ACL_REVISION, 0, GENERIC_ALL, user_sid); ok(bret, "Failed to add Current User to ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); status = pNtSetSecurityObject(hTemp, DACL_SECURITY_INFORMATION, pSD); ok(status == ERROR_SUCCESS, "NtSetSecurityObject returned %x\n", status); @@ -4130,7 +4130,7 @@ bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, 0, GENERIC_ALL, user_sid); ok(bret, "Failed to add Current User to ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); status = pNtSetSecurityObject(hTemp, DACL_SECURITY_INFORMATION, pSD); ok(status == ERROR_SUCCESS, "NtSetSecurityObject returned %x\n", status); @@ -4787,7 +4787,7 @@ bret = pAddAccessAllowedAceEx(pDacl, ACL_REVISION, 0, GENERIC_ALL, admin_sid); ok(bret, "Failed to add Administrator Group to ACL.\n"); bret = SetSecurityDescriptorDacl(pSD, TRUE, pDacl, FALSE); - ok(bret, "Failed to add ACL to security desciptor.\n"); + ok(bret, "Failed to add ACL to security descriptor.\n"); ret = pSetSecurityInfo(obj, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, pDacl, NULL); ok(ret == ERROR_SUCCESS, "SetSecurityInfo returned %d\n", ret); @@ -5835,17 +5835,23 @@ char temp_path[MAX_PATH]; char file_name[MAX_PATH]; DWORD ret, i, access; - HANDLE file, mapping, dup; + HANDLE file, mapping, dup, created_mapping; static const struct { int generic, mapped; + BOOL open_only; } map[] = { { 0, 0 }, { GENERIC_READ, STANDARD_RIGHTS_READ | SECTION_QUERY | SECTION_MAP_READ }, { GENERIC_WRITE, STANDARD_RIGHTS_WRITE | SECTION_MAP_WRITE }, { GENERIC_EXECUTE, STANDARD_RIGHTS_EXECUTE | SECTION_MAP_EXECUTE }, - { GENERIC_ALL, STANDARD_RIGHTS_REQUIRED | SECTION_ALL_ACCESS } + { GENERIC_ALL, STANDARD_RIGHTS_REQUIRED | SECTION_ALL_ACCESS }, + { SECTION_MAP_READ | SECTION_MAP_WRITE, SECTION_MAP_READ | SECTION_MAP_WRITE }, + { SECTION_MAP_WRITE, SECTION_MAP_WRITE }, + { SECTION_MAP_READ | SECTION_QUERY, SECTION_MAP_READ | SECTION_QUERY }, + { SECTION_QUERY, SECTION_MAP_READ, TRUE }, + { SECTION_QUERY | SECTION_MAP_READ, SECTION_QUERY | SECTION_MAP_READ } }; static const struct { @@ -5874,6 +5880,8 @@ for (i = 0; i < sizeof(prot_map)/sizeof(prot_map[0]); i++) { + if (map[i].open_only) continue; + SetLastError(0xdeadbeef); mapping = CreateFileMappingW(file, NULL, prot_map[i].prot, 0, 4096, NULL); if (prot_map[i].mapped) @@ -5920,6 +5928,8 @@ for (i = 0; i < sizeof(map)/sizeof(map[0]); i++) { + if (map[i].open_only) continue; + SetLastError( 0xdeadbeef ); ret = DuplicateHandle(GetCurrentProcess(), mapping, GetCurrentProcess(), &dup, map[i].generic, FALSE, 0); @@ -5934,6 +5944,24 @@ CloseHandle(mapping); CloseHandle(file); DeleteFileA(file_name); + + created_mapping = CreateFileMappingA(INVALID_HANDLE_VALUE, NULL, PAGE_READWRITE, 0, 0x1000, + "Wine Test Open Mapping"); + ok(created_mapping != NULL, "CreateFileMapping failed with error %u\n", GetLastError()); + + for (i = 0; i < sizeof(map)/sizeof(map[0]); i++) + { + if (!map[i].generic) continue; + + mapping = OpenFileMappingA(map[i].generic, FALSE, "Wine Test Open Mapping"); + ok(mapping != NULL, "OpenFileMapping failed with error %d\n", GetLastError()); + access = get_obj_access(mapping); + ok(access == map[i].mapped, "%d: unexpected access flags %#x, expected %#x\n", + i, access, map[i].mapped); + CloseHandle(mapping); + } + + CloseHandle(created_mapping); } static void test_thread_security(void)
8 years, 7 months
1
0
0
0
[akhaldi] 71516: [REG_WINETEST] Sync with Wine Staging 1.9.11. CORE-11368
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Jun 4 17:48:49 2016 New Revision: 71516 URL:
http://svn.reactos.org/svn/reactos?rev=71516&view=rev
Log: [REG_WINETEST] Sync with Wine Staging 1.9.11. CORE-11368 Modified: trunk/rostests/winetests/reg/reg.c Modified: trunk/rostests/winetests/reg/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/reg/reg.c?rev=7…
============================================================================== --- trunk/rostests/winetests/reg/reg.c [iso-8859-1] (original) +++ trunk/rostests/winetests/reg/reg.c [iso-8859-1] Sat Jun 4 17:48:49 2016 @@ -90,6 +90,9 @@ run_reg_exe("reg add", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg add /?", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + err = RegDeleteKeyA(HKEY_CURRENT_USER, KEY_BASE); ok(err == ERROR_SUCCESS || err == ERROR_FILE_NOT_FOUND, "got %d\n", err); @@ -144,6 +147,14 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /v none0 /d deadbeef /t REG_NONE /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d\n", r); verify_reg(hkey, "none0", REG_NONE, "d\0e\0a\0d\0b\0e\0e\0f\0\0", 18, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v none1 /t REG_NONE /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "none1", REG_NONE, "\0", 2, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_NONE /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_NONE, "\0", 2, 0); /* REG_SZ */ run_reg_exe("reg add HKCU\\" KEY_BASE " /d WineTest /f", &r); @@ -160,7 +171,7 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /v test /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); - verify_reg(hkey, "test", REG_SZ, "", 1, TODO_REG_SIZE); + verify_reg(hkey, "test", REG_SZ, "", 1, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /v test1 /t REG_SZ /f /d", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); @@ -171,11 +182,19 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_SZ /v test2 /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); - verify_reg(hkey, "test2", REG_SZ, "", 1, TODO_REG_SIZE); + verify_reg(hkey, "test2", REG_SZ, "", 1, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_SZ /v test3 /f /d \"\"", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); verify_reg(hkey, "test3", REG_SZ, "", 1, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_SZ, "", 1, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_SZ /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_SZ, "", 1, 0); /* REG_EXPAND_SZ */ run_reg_exe("reg add HKCU\\" KEY_BASE " /v expand0 /t REG_EXpand_sz /d \"dead%PATH%beef\" /f", &r); @@ -188,7 +207,7 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_EXPAND_SZ /v expand2 /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); - verify_reg(hkey, "expand2", REG_EXPAND_SZ, "", 1, TODO_REG_SIZE); + verify_reg(hkey, "expand2", REG_EXPAND_SZ, "", 1, 0); run_reg_exe("reg add HKEY_CURRENT_USER\\" KEY_BASE " /ve /t REG_EXPAND_SZ /d WineTEST /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); @@ -197,6 +216,10 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_EXPAND_SZ /v expand3 /f /d \"\"", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); verify_reg(hkey, "expand3", REG_EXPAND_SZ, "", 1, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_EXPAND_SZ /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_EXPAND_SZ, "", 1, 0); /* REG_BINARY */ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_BINARY /v bin0 /f", &r); @@ -238,6 +261,10 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /v bin6 /t REG_BINARY /f /d", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_BINARY /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_BINARY, buffer, 0, 0); + /* REG_DWORD */ run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_DWORD /f /d 12345678", &r); ok(r == REG_EXIT_SUCCESS || broken(r == REG_EXIT_FAILURE /* WinXP */), @@ -288,7 +315,7 @@ ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r); run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword8 /t REG_dword /d 0x01ffffffff /f", &r); - todo_wine ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %d\n", r); + ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %d\n", r); run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword12 /t REG_DWORD /d 0xffffffff /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); @@ -297,6 +324,17 @@ run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword13 /t REG_DWORD /d 00x123 /f", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword14 /t REG_DWORD /d 0X123 /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x123; + verify_reg(hkey, "dword14", REG_DWORD, &dword, sizeof(dword), 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v dword15 /t REG_DWORD /d 4294967296 /f", &r); + ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_DWORD /f", &r); + ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r); /* REG_DWORD_LITTLE_ENDIAN */ run_reg_exe("reg add HKCU\\" KEY_BASE " /v DWORD_LE /t REG_DWORD_LITTLE_ENDIAN /d 456 /f", &r); @@ -312,27 +350,36 @@ /* REG_DWORD_BIG_ENDIAN is broken in every version of windows. It behaves like * an ordinary REG_DWORD - that is little endian. GG */ + run_reg_exe("reg add HKCU\\" KEY_BASE " /v DWORD_BE2 /t REG_DWORD_BIG_ENDIAN /f /d", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %u, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v DWORD_BE3 /t REG_DWORD_BIG_ENDIAN /f", &r); + ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_DWORD_BIG_ENDIAN /f", &r); + ok(r == REG_EXIT_FAILURE || broken(r == REG_EXIT_SUCCESS /* WinXP */), "got exit code %u\n", r); + /* REG_MULTI_SZ */ run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi0 /t REG_MULTI_SZ /d \"three\\0little\\0strings\" /f", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); memcpy(buffer, "three\0little\0strings\0", 22); - todo_wine verify_reg(hkey, "multi0", REG_MULTI_SZ, buffer, 22, TODO_REG_SIZE); + verify_reg(hkey, "multi0", REG_MULTI_SZ, buffer, 22, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi1 /s \"#\" /d \"three#little#strings\" /f", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); - todo_wine verify_reg(hkey, "multi1", REG_MULTI_SZ, buffer, 22, TODO_REG_SIZE); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi1", REG_MULTI_SZ, buffer, 22, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi2 /d \"\" /f", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); - todo_wine verify_reg(hkey, "multi2", REG_MULTI_SZ, &buffer[21], 1, TODO_REG_SIZE); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi2", REG_MULTI_SZ, &buffer[21], 1, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi3 /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); - verify_reg(hkey, "multi3", REG_MULTI_SZ, &buffer[21], 1, TODO_REG_SIZE); + verify_reg(hkey, "multi3", REG_MULTI_SZ, &buffer[21], 1, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi4 /s \"#\" /d \"threelittlestrings\" /f", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); - todo_wine verify_reg(hkey, "multi4", REG_MULTI_SZ, "threelittlestrings\0", 20, TODO_REG_SIZE); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi4", REG_MULTI_SZ, "threelittlestrings\0", 20, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi5 /s \"#randomgibberish\" /d \"three#little#strings\" /f", &r); ok(r == REG_EXIT_FAILURE, "got exit code %u\n", r); @@ -348,15 +395,50 @@ ok(r == REG_EXIT_FAILURE, "got exit code %u\n", r); run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi11 /s \"#\" /d \"a#\" /f", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %u\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); buffer[0]='a'; buffer[1]=0; buffer[2]=0; - todo_wine verify_reg(hkey, "multi11", REG_MULTI_SZ, buffer, 3, TODO_REG_SIZE); + verify_reg(hkey, "multi11", REG_MULTI_SZ, buffer, 3, 0); run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi12 /t REG_MULTI_SZ /f /d", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi13 /t REG_MULTI_SZ /f /s", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi14 /t REG_MULTI_SZ /d \"\\0a\" /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %u, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi15 /t REG_MULTI_SZ /d \"a\\0\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi15", REG_MULTI_SZ, buffer, 3, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /t REG_MULTI_SZ /v multi16 /d \"two\\0\\0strings\" /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %u, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi17 /t REG_MULTI_SZ /s \"#\" /d \"#\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + buffer[0] = 0; buffer[1] = 0; + verify_reg(hkey, "multi17", REG_MULTI_SZ, buffer, 2, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi18 /t REG_MULTI_SZ /d \"\\0\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi18", REG_MULTI_SZ, buffer, 2, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi19 /t REG_MULTI_SZ /s \"#\" /d \"two\\0#strings\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi19", REG_MULTI_SZ, "two\\0\0strings\0", 15, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi20 /t REG_MULTI_SZ /s \"#\" /d \"two#\\0strings\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi20", REG_MULTI_SZ, "two\0\\0strings\0", 15, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /v multi21 /t REG_MULTI_SZ /s \"#\" /d \"two\\0\\0strings\" /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, "multi21", REG_MULTI_SZ, "two\\0\\0strings\0", 16, 0); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /ve /t REG_MULTI_SZ /f", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %u, expected 0\n", r); + verify_reg(hkey, NULL, REG_MULTI_SZ, buffer, 1, 0); RegCloseKey(hkey); @@ -374,6 +456,9 @@ run_reg_exe("reg delete", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + run_reg_exe("reg delete /?", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + err = RegCreateKeyExA(HKEY_CURRENT_USER, KEY_BASE, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &hkey, NULL); ok(err == ERROR_SUCCESS, "got %d\n", err); @@ -398,7 +483,7 @@ run_reg_exe("reg delete HKCU\\" KEY_BASE " /ve /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); err = RegQueryValueExA(hkey, "", NULL, NULL, NULL, NULL); - todo_wine ok(err == ERROR_FILE_NOT_FOUND, "got %d\n", err); + ok(err == ERROR_FILE_NOT_FOUND, "got %d, expected 2\n", err); run_reg_exe("reg delete HKCU\\" KEY_BASE " /va /f", &r); ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); @@ -421,7 +506,114 @@ static void test_query(void) { DWORD r; - run_reg_exe("reg Query", &r); + HKEY key, subkey; + LONG err; + const char hello[] = "Hello"; + const char world[] = "World"; + const char empty1[] = "Empty1"; + const char empty2[] = "Empty2"; + const DWORD dword1 = 0x123; + const DWORD dword2 = 0xabc; + + run_reg_exe("reg query", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg query /?", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + /* Create a test key */ + err = RegCreateKeyExA(HKEY_CURRENT_USER, KEY_BASE, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &key, NULL); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /ve", &r); + todo_wine ok(r == REG_EXIT_SUCCESS || broken(r == REG_EXIT_FAILURE /* WinXP */), + "got exit code %d, expected 0\n", r); + + err = RegSetValueExA(key, "Test", 0, REG_SZ, (BYTE *)hello, sizeof(hello)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegSetValueExA(key, "Wine", 0, REG_DWORD, (BYTE *)&dword1, sizeof(dword1)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegSetValueExA(key, NULL, 0, REG_SZ, (BYTE *)empty1, sizeof(empty1)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + run_reg_exe("reg query HKCU\\" KEY_BASE, &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Missing", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Wine", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /ve", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + /* Create a test subkey */ + err = RegCreateKeyExA(key, "Subkey", 0, NULL, 0, KEY_ALL_ACCESS, NULL, &subkey, NULL); + ok(err == ERROR_SUCCESS, "got %d\n", err); + + err = RegSetValueExA(subkey, "Test", 0, REG_SZ, (BYTE *)world, sizeof(world)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegSetValueExA(subkey, "Wine", 0, REG_DWORD, (BYTE *)&dword2, sizeof(dword2)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegSetValueExA(subkey, NULL, 0, REG_SZ, (BYTE *)empty2, sizeof(empty2)); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegCloseKey(subkey); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Test", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /v Wine", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey /ve", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + /* Test recursion */ + run_reg_exe("reg query HKCU\\" KEY_BASE " /s", &r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Test /s", &r); + ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */, + "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /v Wine /s", &r); + ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */, + "got exit code %d, expected 0\n", r); + + run_reg_exe("reg query HKCU\\" KEY_BASE " /ve /s", &r); + ok(r == REG_EXIT_SUCCESS || r == REG_EXIT_FAILURE /* WinXP */, + "got exit code %d, expected 0\n", r); + + /* Clean-up, then query */ + err = RegDeleteKeyA(key, "subkey"); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + err = RegCloseKey(key); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + run_reg_exe("reg query HKCU\\" KEY_BASE "\\subkey", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + err = RegDeleteKeyA(HKEY_CURRENT_USER, KEY_BASE); + ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err); + + run_reg_exe("reg query HKCU\\" KEY_BASE, &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); } @@ -439,6 +631,26 @@ ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); run_reg_exe("reg delete HKCU\\" KEY_BASE " /ve /va", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + /* No /v argument */ + run_reg_exe("reg add HKCU\\" KEY_BASE " /v", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg add HKCU\\" KEY_BASE " /d Test /f /v", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg delete HKCU\\" KEY_BASE " /v", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg delete HKCU\\" KEY_BASE " /f /v", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + /* Multiple /v switches */ + run_reg_exe("reg add HKCU\\" KEY_BASE " /v Wine /t REG_DWORD /d 0x1 /v Test /f", &r); + ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); + + run_reg_exe("reg delete HKCU\\" KEY_BASE " /v Wine /v Test /f", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); }
8 years, 7 months
1
0
0
0
[akhaldi] 71515: [REG] Sync with Wine Staging 1.9.11. CORE-11368
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Jun 4 17:48:30 2016 New Revision: 71515 URL:
http://svn.reactos.org/svn/reactos?rev=71515&view=rev
Log: [REG] Sync with Wine Staging 1.9.11. CORE-11368 Modified: trunk/reactos/base/applications/cmdutils/reg/lang/bg-BG.rc trunk/reactos/base/applications/cmdutils/reg/lang/cs-CZ.rc trunk/reactos/base/applications/cmdutils/reg/lang/da-DK.rc trunk/reactos/base/applications/cmdutils/reg/lang/de-DE.rc trunk/reactos/base/applications/cmdutils/reg/lang/en-US.rc trunk/reactos/base/applications/cmdutils/reg/lang/es-ES.rc trunk/reactos/base/applications/cmdutils/reg/lang/fr-FR.rc trunk/reactos/base/applications/cmdutils/reg/lang/it-IT.rc trunk/reactos/base/applications/cmdutils/reg/lang/ja-JP.rc trunk/reactos/base/applications/cmdutils/reg/lang/ko-KR.rc trunk/reactos/base/applications/cmdutils/reg/lang/lt-LT.rc trunk/reactos/base/applications/cmdutils/reg/lang/nl-NL.rc trunk/reactos/base/applications/cmdutils/reg/lang/no-NO.rc trunk/reactos/base/applications/cmdutils/reg/lang/pl-PL.rc trunk/reactos/base/applications/cmdutils/reg/lang/pt-PT.rc trunk/reactos/base/applications/cmdutils/reg/lang/ro-RO.rc trunk/reactos/base/applications/cmdutils/reg/lang/ru-RU.rc trunk/reactos/base/applications/cmdutils/reg/lang/sl-SI.rc trunk/reactos/base/applications/cmdutils/reg/lang/sq-AL.rc trunk/reactos/base/applications/cmdutils/reg/lang/sv-SE.rc trunk/reactos/base/applications/cmdutils/reg/lang/tr-TR.rc trunk/reactos/base/applications/cmdutils/reg/lang/uk-UA.rc trunk/reactos/base/applications/cmdutils/reg/lang/zh-CN.rc trunk/reactos/base/applications/cmdutils/reg/lang/zh-TW.rc trunk/reactos/base/applications/cmdutils/reg/reg.c trunk/reactos/base/applications/cmdutils/reg/reg.h trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/base/applications/cmdutils/reg/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/bg-BG.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/cs-CZ.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/cs-CZ.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -29,4 +29,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/da-DK.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/da-DK.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/de-DE.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/en-US.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/es-ES.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/fr-FR.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/it-IT.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/ja-JP.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/ko-KR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/ko-KR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/ko-KR.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/lt-LT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/lt-LT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/lt-LT.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/nl-NL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/nl-NL.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/no-NO.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/pl-PL.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/pt-PT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/pt-PT.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/ro-RO.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -30,4 +30,12 @@ STRING_DELETE_VALUE, "Sigur doriÈi Ètergerea valorii de registru «%1»?" STRING_DELETE_VALUEALL, "Sigur doriÈi Ètergerea tuturor valorilor de registru din «%1»?" STRING_DELETE_SUBKEY, "Sigur doriÈi Ètergerea cheii de registru «%1»?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/ru-RU.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/ru-RU.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/sl-SI.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/sl-SI.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/sl-SI.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/sq-AL.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -28,4 +28,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/sv-SE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/sv-SE.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/tr-TR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/tr-TR.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -26,4 +26,12 @@ STRING_DELETE_VALUE, """%1"" deÄer defteri deÄerini silmek istemekten emin misiniz?" STRING_DELETE_VALUEALL, "Tüm ""%1"" deÄer defteri deÄerlerini silmek istemekten emin misiniz?" STRING_DELETE_SUBKEY, """%1"" deÄer defteri dizinini silmek istemekten emin misiniz?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/uk-UA.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -24,4 +24,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/zh-CN.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/zh-CN.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -26,4 +26,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/lang/zh-TW.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/lang/zh-TW.rc [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -26,4 +26,12 @@ STRING_DELETE_VALUE, "Are you sure you want to delete the registry value '%1'?" STRING_DELETE_VALUEALL, "Are you sure you want to delete all registry values in '%1'?" STRING_DELETE_SUBKEY, "Are you sure you want to delete the registry key '%1'?" + STRING_INVALID_STRING, "reg: The option [/d] must be followed by a valid string\n" + STRING_VALUEALL_FAILED, "reg: Unable to delete all registry values in '%1'. An unexpected error occurred.\n" + STRING_GENERAL_FAILURE, "reg: Unable to complete the specified operation. An unexpected error occurred.\n" + STRING_MATCHES_FOUND, "Search complete. Number of matches found: %1!d!\n" + STRING_INVALID_SYNTAX, "reg: Invalid syntax. " + STRING_INVALID_OPTION, "reg: Invalid option [%1]. " + STRING_REG_HELP, "Type ""REG /?"" for help.\n" + STRING_FUNC_HELP, "Type ""REG %1 /?"" for help.\n" } Modified: trunk/reactos/base/applications/cmdutils/reg/reg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/reg.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/reg.c [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -25,6 +25,7 @@ #include <shlwapi.h> #include <wine/unicode.h> #include <wine/debug.h> +#include <errno.h> #include "reg.h" #define ARRAY_SIZE(A) (sizeof(A)/sizeof(*A)) @@ -156,6 +157,7 @@ WCHAR Nbuffer[4]; WCHAR defval[32]; WCHAR answer[MAX_PATH]; + WCHAR *str; DWORD count; hmod = GetModuleHandleW(NULL); @@ -163,9 +165,11 @@ LoadStringW(hmod, STRING_NO, Nbuffer, ARRAY_SIZE(Nbuffer)); LoadStringW(hmod, STRING_DEFAULT_VALUE, defval, ARRAY_SIZE(defval)); + str = (reg_info && *reg_info) ? reg_info : defval; + while (1) { - output_message(msgid, reg_info ? reg_info : defval); + output_message(msgid, str); output_message(STRING_YESNO); ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), answer, ARRAY_SIZE(answer), &count, NULL); answer[0] = toupperW(answer[0]); @@ -227,10 +231,13 @@ return -1; } -static LPBYTE get_regdata(LPWSTR data, DWORD reg_type, WCHAR separator, DWORD *reg_count) -{ +static LPBYTE get_regdata(const WCHAR *data, DWORD reg_type, WCHAR separator, DWORD *reg_count) +{ + static const WCHAR empty; LPBYTE out_data = NULL; *reg_count = 0; + + if (!data) data = ∅ switch (reg_type) { @@ -249,8 +256,8 @@ { LPWSTR rest; DWORD val; - val = strtoulW(data, &rest, (data[1] == 'x') ? 16 : 10); - if (*rest || data[0] == '-') { + val = strtoulW(data, &rest, (tolowerW(data[1]) == 'x') ? 16 : 10); + if (*rest || data[0] == '-' || (val == ~0u && errno == ERANGE)) { output_message(STRING_MISSING_INTEGER); break; } @@ -289,7 +296,35 @@ break; } case REG_MULTI_SZ: - /* FIXME: Needs handling */ + { + int i, destindex, len = strlenW(data); + WCHAR *buffer = HeapAlloc(GetProcessHeap(), 0, (len + 2) * sizeof(WCHAR)); + + for (i = 0, destindex = 0; i < len; i++, destindex++) + { + if (!separator && data[i] == '\\' && data[i + 1] == '0') + { + buffer[destindex] = 0; + i++; + } + else if (data[i] == separator) + buffer[destindex] = 0; + else + buffer[destindex] = data[i]; + + if (destindex && !buffer[destindex - 1] && (!buffer[destindex] || destindex == 1)) + { + HeapFree(GetProcessHeap(), 0, buffer); + output_message(STRING_INVALID_STRING); + return NULL; + } + } + buffer[destindex] = 0; + if (destindex && buffer[destindex - 1]) + buffer[++destindex] = 0; + *reg_count = (destindex + 1) * sizeof(WCHAR); + return (BYTE *)buffer; + } default: output_message(STRING_UNHANDLED_TYPE, reg_type, data); } @@ -326,12 +361,7 @@ return 1; p = strchrW(key_name,'\\'); - if (!p) - { - output_message(STRING_INVALID_KEY); - return 1; - } - p++; + if (p) p++; root = path_get_rootkey(key_name); if (!root) @@ -352,7 +382,7 @@ return 1; } - if (value_name || data) + if (value_name || value_empty || data) { DWORD reg_type; DWORD reg_count = 0; @@ -378,14 +408,14 @@ output_message(STRING_UNSUPPORTED_TYPE, type); return 1; } - if (reg_type == REG_DWORD && !data) + if ((reg_type == REG_DWORD || reg_type == REG_DWORD_BIG_ENDIAN) && !data) { RegCloseKey(subkey); output_message(STRING_INVALID_CMDLINE); return 1; } - if (data && !(reg_data = get_regdata(data, reg_type, separator, ®_count))) + if (!(reg_data = get_regdata(data, reg_type, separator, ®_count))) { RegCloseKey(subkey); return 1; @@ -411,12 +441,7 @@ return 1; p = strchrW(key_name,'\\'); - if (!p) - { - output_message(STRING_INVALID_KEY); - return 1; - } - p++; + if (p) p++; root = path_get_rootkey(key_name); if (!root) @@ -478,8 +503,8 @@ &maxValue, NULL, NULL, NULL); if (rc != ERROR_SUCCESS) { - /* FIXME: failure */ RegCloseKey(subkey); + output_message(STRING_GENERAL_FAILURE); return 1; } maxValue++; @@ -493,42 +518,369 @@ { rc = RegDeleteValueW(subkey, szValue); if (rc != ERROR_SUCCESS) - break; + { + HeapFree(GetProcessHeap(), 0, szValue); + RegCloseKey(subkey); + output_message(STRING_VALUEALL_FAILED, key_name); + return 1; + } } else break; } - if (rc != ERROR_SUCCESS) - { - /* FIXME delete failed */ - } - } - else if (value_name) - { - if (RegDeleteValueW(subkey,value_name) != ERROR_SUCCESS) + } + else if (value_name || value_empty) + { + if (RegDeleteValueW(subkey, value_empty ? NULL : value_name) != ERROR_SUCCESS) { RegCloseKey(subkey); output_message(STRING_CANNOT_FIND); return 1; } } - else if (value_empty) - { - RegSetValueExW(subkey,NULL,0,REG_SZ,NULL,0); - } RegCloseKey(subkey); output_message(STRING_SUCCESS); return 0; } -static int reg_query(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, - BOOL subkey) -{ - static const WCHAR stubW[] = {'S','T','U','B',' ','Q','U','E','R','Y',' ', - '-',' ','%','1',' ','%','2',' ','%','3','!','d','!',' ','%','4','!','d','!','\n',0}; - output_string(stubW, key_name, value_name, value_empty, subkey); - - return 1; +static WCHAR *reg_data_to_wchar(DWORD type, const BYTE *src, DWORD size_bytes) +{ + WCHAR *buffer = NULL; + int i; + + switch (type) + { + case REG_SZ: + case REG_EXPAND_SZ: + buffer = HeapAlloc(GetProcessHeap(), 0, size_bytes); + strcpyW(buffer, (WCHAR *)src); + break; + case REG_NONE: + case REG_BINARY: + { + WCHAR *ptr; + WCHAR fmt[] = {'%','0','2','X',0}; + + buffer = HeapAlloc(GetProcessHeap(), 0, (size_bytes * 2 + 1) * sizeof(WCHAR)); + ptr = buffer; + for (i = 0; i < size_bytes; i++) + ptr += sprintfW(ptr, fmt, src[i]); + break; + } + case REG_DWORD: + /* case REG_DWORD_LITTLE_ENDIAN: */ + case REG_DWORD_BIG_ENDIAN: + { + const int zero_x_dword = 10; + WCHAR fmt[] = {'0','x','%','x',0}; + + buffer = HeapAlloc(GetProcessHeap(), 0, (zero_x_dword + 1) * sizeof(WCHAR)); + sprintfW(buffer, fmt, *(DWORD *)src); + break; + } + case REG_MULTI_SZ: + { + const int two_wchars = 2 * sizeof(WCHAR); + DWORD tmp_size; + const WCHAR *tmp = (const WCHAR *)src; + int len, destindex; + + if (size_bytes <= two_wchars) + { + buffer = HeapAlloc(GetProcessHeap(), 0, sizeof(WCHAR)); + *buffer = 0; + return buffer; + } + + tmp_size = size_bytes - two_wchars; /* exclude both null terminators */ + buffer = HeapAlloc(GetProcessHeap(), 0, tmp_size * 2 + sizeof(WCHAR)); + len = tmp_size / sizeof(WCHAR); + + for (i = 0, destindex = 0; i < len; i++, destindex++) + { + if (tmp[i]) + buffer[destindex] = tmp[i]; + else + { + buffer[destindex++] = '\\'; + buffer[destindex] = '0'; + } + } + buffer[destindex] = 0; + break; + } + } + return buffer; +} + +static const WCHAR *reg_type_to_wchar(DWORD type) +{ + int i, array_size = ARRAY_SIZE(type_rels); + + for (i = 0; i < array_size; i++) + { + if (type == type_rels[i].type) + return type_rels[i].name; + } + return NULL; +} + +static void output_value(const WCHAR *value_name, DWORD type, BYTE *data, DWORD data_size) +{ + WCHAR fmt[] = {' ',' ',' ',' ','%','1',0}; + WCHAR *reg_data; + WCHAR newlineW[] = {'\n',0}; + + if (value_name && value_name[0]) + output_string(fmt, value_name); + else + { + WCHAR defval[32]; + LoadStringW(GetModuleHandleW(NULL), STRING_DEFAULT_VALUE, defval, ARRAY_SIZE(defval)); + output_string(fmt, defval); + } + output_string(fmt, reg_type_to_wchar(type)); + reg_data = reg_data_to_wchar(type, data, data_size); + output_string(fmt, reg_data); + HeapFree(GetProcessHeap(), 0, reg_data); + output_string(newlineW); +} + +static WCHAR *build_subkey_path(WCHAR *path, DWORD path_len, WCHAR *subkey_name, DWORD subkey_len) +{ + WCHAR *subkey_path; + WCHAR fmt[] = {'%','s','\\','%','s',0}; + + subkey_path = HeapAlloc(GetProcessHeap(), 0, (path_len + subkey_len + 2) * sizeof(WCHAR)); + if (!subkey_path) + { + ERR("Failed to allocate memory for subkey_path\n"); + return NULL; + } + sprintfW(subkey_path, fmt, path, subkey_name); + return subkey_path; +} + +static unsigned int num_values_found = 0; + +static int query_value(HKEY key, WCHAR *value_name, WCHAR *path, BOOL recurse) +{ + LONG rc; + DWORD num_subkeys, max_subkey_len, subkey_len; + DWORD max_data_bytes, data_size; + DWORD type, path_len, i; + BYTE *data; + WCHAR fmt[] = {'%','1','\n',0}; + WCHAR newlineW[] = {'\n',0}; + WCHAR *subkey_name, *subkey_path; + HKEY subkey; + + rc = RegQueryInfoKeyW(key, NULL, NULL, NULL, &num_subkeys, &max_subkey_len, + NULL, NULL, NULL, &max_data_bytes, NULL, NULL); + if (rc) + { + ERR("RegQueryInfoKey failed: %d\n", rc); + return 1; + } + + data = HeapAlloc(GetProcessHeap(), 0, max_data_bytes); + if (!data) + { + ERR("Failed to allocate memory for data\n"); + return 1; + } + + data_size = max_data_bytes; + rc = RegQueryValueExW(key, value_name, NULL, &type, data, &data_size); + if (rc == ERROR_SUCCESS) + { + output_string(fmt, path); + output_value(value_name, type, data, data_size); + output_string(newlineW); + num_values_found++; + } + + HeapFree(GetProcessHeap(), 0, data); + + if (!recurse) + { + if (rc == ERROR_FILE_NOT_FOUND) + { + output_message(STRING_CANNOT_FIND); + return 1; + } + return 0; + } + + max_subkey_len++; + subkey_name = HeapAlloc(GetProcessHeap(), 0, max_subkey_len * sizeof(WCHAR)); + if (!subkey_name) + { + ERR("Failed to allocate memory for subkey_name\n"); + return 1; + } + + path_len = strlenW(path); + + for (i = 0; i < num_subkeys; i++) + { + subkey_len = max_subkey_len; + rc = RegEnumKeyExW(key, i, subkey_name, &subkey_len, NULL, NULL, NULL, NULL); + if (rc == ERROR_SUCCESS) + { + subkey_path = build_subkey_path(path, path_len, subkey_name, subkey_len); + if (!RegOpenKeyExW(key, subkey_name, 0, KEY_READ, &subkey)) + { + query_value(subkey, value_name, subkey_path, recurse); + RegCloseKey(subkey); + } + HeapFree(GetProcessHeap(), 0, subkey_path); + } + } + + HeapFree(GetProcessHeap(), 0, subkey_name); + return 0; +} + +static int query_all(HKEY key, WCHAR *path, BOOL recurse) +{ + LONG rc; + DWORD num_subkeys, max_subkey_len, subkey_len; + DWORD num_values, max_value_len, value_len; + DWORD max_data_bytes, data_size; + DWORD i, type, path_len; + WCHAR fmt[] = {'%','1','\n',0}; + WCHAR fmt_path[] = {'%','1','\\','%','2','\n',0}; + WCHAR *value_name, *subkey_name, *subkey_path; + WCHAR newlineW[] = {'\n',0}; + BYTE *data; + HKEY subkey; + + rc = RegQueryInfoKeyW(key, NULL, NULL, NULL, &num_subkeys, &max_subkey_len, NULL, + &num_values, &max_value_len, &max_data_bytes, NULL, NULL); + if (rc) + { + ERR("RegQueryInfoKey failed: %d\n", rc); + return 1; + } + + output_string(fmt, path); + + max_value_len++; + value_name = HeapAlloc(GetProcessHeap(), 0, max_value_len * sizeof(WCHAR)); + if (!value_name) + { + ERR("Failed to allocate memory for value_name\n"); + return 1; + } + + data = HeapAlloc(GetProcessHeap(), 0, max_data_bytes); + if (!data) + { + HeapFree(GetProcessHeap(), 0, value_name); + ERR("Failed to allocate memory for data\n"); + return 1; + } + + for (i = 0; i < num_values; i++) + { + value_len = max_value_len; + data_size = max_data_bytes; + rc = RegEnumValueW(key, i, value_name, &value_len, NULL, &type, data, &data_size); + if (rc == ERROR_SUCCESS) + output_value(value_name, type, data, data_size); + } + + HeapFree(GetProcessHeap(), 0, data); + HeapFree(GetProcessHeap(), 0, value_name); + + if (num_values || recurse) + output_string(newlineW); + + max_subkey_len++; + subkey_name = HeapAlloc(GetProcessHeap(), 0, max_subkey_len * sizeof(WCHAR)); + if (!subkey_name) + { + ERR("Failed to allocate memory for subkey_name\n"); + return 1; + } + + path_len = strlenW(path); + + for (i = 0; i < num_subkeys; i++) + { + subkey_len = max_subkey_len; + rc = RegEnumKeyExW(key, i, subkey_name, &subkey_len, NULL, NULL, NULL, NULL); + if (rc == ERROR_SUCCESS) + { + if (recurse) + { + subkey_path = build_subkey_path(path, path_len, subkey_name, subkey_len); + if (!RegOpenKeyExW(key, subkey_name, 0, KEY_READ, &subkey)) + { + query_all(subkey, subkey_path, recurse); + RegCloseKey(subkey); + } + HeapFree(GetProcessHeap(), 0, subkey_path); + } + else output_string(fmt_path, path, subkey_name); + } + } + + HeapFree(GetProcessHeap(), 0, subkey_name); + + if (num_subkeys && !recurse) + output_string(newlineW); + + return 0; +} + +static int reg_query(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, BOOL recurse) +{ + WCHAR *p; + HKEY root, key; + WCHAR newlineW[] = {'\n',0}; + int ret; + + if (!sane_path(key_name)) + return 1; + + if (value_name && value_empty) + { + output_message(STRING_INVALID_CMDLINE); + return 1; + } + + root = path_get_rootkey(key_name); + if (!root) + { + output_message(STRING_INVALID_KEY); + return 1; + } + + p = strchrW(key_name, '\\'); + if (p) p++; + + if (RegOpenKeyExW(root, p, 0, KEY_READ, &key) != ERROR_SUCCESS) + { + output_message(STRING_CANNOT_FIND); + return 1; + } + + output_string(newlineW); + + if (value_name || value_empty) + { + ret = query_value(key, value_name, key_name, recurse); + if (recurse) + output_message(STRING_MATCHES_FOUND, num_values_found); + } + else + ret = query_all(key, key_name, recurse); + + RegCloseKey(key); + + return ret; } int wmain(int argc, WCHAR *argvW[]) @@ -548,8 +900,14 @@ static const WCHAR slashVEW[] = {'/','v','e',0}; static const WCHAR slashHelpW[] = {'/','?',0}; - if (argc < 2 || !lstrcmpW(argvW[1], slashHelpW) - || !lstrcmpiW(argvW[1], slashHW)) + if (argc == 1) + { + output_message(STRING_INVALID_SYNTAX); + output_message(STRING_REG_HELP); + return 1; + } + + if (!lstrcmpW(argvW[1], slashHelpW) || !lstrcmpiW(argvW[1], slashHW)) { output_message(STRING_USAGE); return 0; @@ -562,7 +920,8 @@ if (argc < 3) { - output_message(STRING_INVALID_CMDLINE); + output_message(STRING_INVALID_SYNTAX); + output_message(STRING_FUNC_HELP, struprW(argvW[1])); return 1; } else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || @@ -576,7 +935,13 @@ for (i = 1; i < argc; i++) { if (!lstrcmpiW(argvW[i], slashVW)) - value_name = argvW[++i]; + { + if (value_name || !(value_name = argvW[++i])) + { + output_message(STRING_INVALID_CMDLINE); + return 1; + } + } else if (!lstrcmpiW(argvW[i], slashVEW)) value_empty = TRUE; else if (!lstrcmpiW(argvW[i], slashTW)) @@ -613,7 +978,8 @@ if (argc < 3) { - output_message(STRING_INVALID_CMDLINE); + output_message(STRING_INVALID_SYNTAX); + output_message(STRING_FUNC_HELP, struprW(argvW[1])); return 1; } else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || @@ -627,7 +993,13 @@ for (i = 1; i < argc; i++) { if (!lstrcmpiW(argvW[i], slashVW)) - value_name = argvW[++i]; + { + if (value_name || !(value_name = argvW[++i])) + { + output_message(STRING_INVALID_CMDLINE); + return 1; + } + } else if (!lstrcmpiW(argvW[i], slashVEW)) value_empty = TRUE; else if (!lstrcmpiW(argvW[i], slashVAW)) @@ -640,11 +1012,12 @@ else if (!lstrcmpiW(argvW[1], queryW)) { WCHAR *key_name, *value_name = NULL; - BOOL value_empty = FALSE, subkey = FALSE; + BOOL value_empty = FALSE, recurse = FALSE; if (argc < 3) { - output_message(STRING_INVALID_CMDLINE); + output_message(STRING_INVALID_SYNTAX); + output_message(STRING_FUNC_HELP, struprW(argvW[1])); return 1; } else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) || @@ -658,17 +1031,24 @@ for (i = 1; i < argc; i++) { if (!lstrcmpiW(argvW[i], slashVW)) - value_name = argvW[++i]; + { + if (value_name || !(value_name = argvW[++i])) + { + output_message(STRING_INVALID_CMDLINE); + return 1; + } + } else if (!lstrcmpiW(argvW[i], slashVEW)) value_empty = TRUE; else if (!lstrcmpiW(argvW[i], slashSW)) - subkey = TRUE; - } - return reg_query(key_name, value_name, value_empty, subkey); + recurse = TRUE; + } + return reg_query(key_name, value_name, value_empty, recurse); } else { - output_message(STRING_INVALID_CMDLINE); - return 1; - } -} + output_message(STRING_INVALID_OPTION, argvW[1]); + output_message(STRING_REG_HELP); + return 1; + } +} Modified: trunk/reactos/base/applications/cmdutils/reg/reg.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/cmdutils…
============================================================================== --- trunk/reactos/base/applications/cmdutils/reg/reg.h [iso-8859-1] (original) +++ trunk/reactos/base/applications/cmdutils/reg/reg.h [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -45,3 +45,11 @@ #define STRING_DELETE_VALUE 120 #define STRING_DELETE_VALUEALL 121 #define STRING_DELETE_SUBKEY 122 +#define STRING_INVALID_STRING 123 +#define STRING_VALUEALL_FAILED 124 +#define STRING_GENERAL_FAILURE 125 +#define STRING_MATCHES_FOUND 126 +#define STRING_INVALID_SYNTAX 127 +#define STRING_INVALID_OPTION 128 +#define STRING_REG_HELP 129 +#define STRING_FUNC_HELP 130 Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Jun 4 17:48:30 2016 @@ -229,7 +229,7 @@ ReactOS shares the following programs with Winehq. reactos/base/applications/cmdutils/cscript # Synced to WineStaging-1.9.4 -reactos/base/applications/cmdutils/reg # Synced to WineStaging-1.9.4 +reactos/base/applications/cmdutils/reg # Synced to WineStaging-1.9.11 reactos/base/applications/cmdutils/taskkill # Synced to WineStaging-1.9.4 reactos/base/applications/cmdutils/wmic # Synced to WineStaging-1.9.4 reactos/base/applications/cmdutils/wscript # Synced to WineStaging-1.9.4
8 years, 7 months
1
0
0
0
[akhaldi] 71514: [MAGNIFY] Resource strings improvements by Henry Tang Ih. CORE-10966
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Jun 4 17:37:40 2016 New Revision: 71514 URL:
http://svn.reactos.org/svn/reactos?rev=71514&view=rev
Log: [MAGNIFY] Resource strings improvements by Henry Tang Ih. CORE-10966 Modified: trunk/reactos/base/applications/magnify/lang/bg-BG.rc trunk/reactos/base/applications/magnify/lang/de-DE.rc trunk/reactos/base/applications/magnify/lang/en-US.rc trunk/reactos/base/applications/magnify/lang/es-ES.rc trunk/reactos/base/applications/magnify/lang/fr-FR.rc trunk/reactos/base/applications/magnify/lang/he-IL.rc trunk/reactos/base/applications/magnify/lang/it-IT.rc trunk/reactos/base/applications/magnify/lang/ja-JP.rc trunk/reactos/base/applications/magnify/lang/no-NO.rc trunk/reactos/base/applications/magnify/lang/pl-PL.rc trunk/reactos/base/applications/magnify/lang/pt-BR.rc trunk/reactos/base/applications/magnify/lang/ro-RO.rc trunk/reactos/base/applications/magnify/lang/sk-SK.rc trunk/reactos/base/applications/magnify/lang/sq-AL.rc trunk/reactos/base/applications/magnify/lang/sv-SE.rc trunk/reactos/base/applications/magnify/lang/uk-UA.rc trunk/reactos/base/applications/magnify/lang/zh-CN.rc trunk/reactos/base/applications/magnify/lang/zh-TW.rc Modified: trunk/reactos/base/applications/magnify/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/bg-BG.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/bg-BG.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "ÐÐ·Ñ Ð¾Ð´", IDOK, 96, 161, 50, 14 - PUSHBUTTON "ÐомоÑ", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "УвелиÑение:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&ÐомоÑ", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "УвелиÑ&ение:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "ÐÑоÑледÑване", IDC_STATIC, 7, 25, 195, 59 GROUPBOX "ÐÑедÑÑавÑне", IDC_STATIC, 7, 87, 195, 57 - CONTROL "Следване показалеÑа на миÑкаÑа", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Следване по&казалеÑа на миÑкаÑа", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 164, 10 - CONTROL "Следване ÑÑÑÑедоÑоÑаванеÑо на клавиаÑÑÑаÑа", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Следване ÑÑÑ&ÑедоÑоÑаванеÑо на клавиаÑÑÑаÑа", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 180, 10 - CONTROL "Следване на ÑловообÑабоÑкаÑа", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "След&ване на ÑловообÑабоÑкаÑа", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 180, 10 - CONTROL "ÐбÑÑÑане на ÑвеÑовеÑе", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&ÐбÑÑÑане на ÑвеÑовеÑе", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 180, 10 - CONTROL "СмалÑване пÑи пÑÑкане", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "С&малÑване пÑи пÑÑкане", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 180, 10 - CONTROL "Ðоказване на ÑвелиÑиÑелÑ", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Ðоказв&ане на ÑвелиÑиÑелÑ", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 180, 10 END Modified: trunk/reactos/base/applications/magnify/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/de-DE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/de-DE.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Beenden", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Hilfe", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "VergröÃerungsgrad:", IDC_STATIC, 6, 12, 68, 8 + PUSHBUTTON "&Hilfe", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "VergröÃerun&gsgrad:", IDC_STATIC, 6, 12, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Folgen", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Präsentation", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Maus-Cursor folgen", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "&Maus-Cursor folgen", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Tastaturfokus folgen", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Tastaturfo&kus folgen", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Texteingabe folgen", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "&Texteingabe folgen", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Farben invertieren", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "Farben &invertieren", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Minimiert starten", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "Minimiert &starten", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Bildschirm-Lupe anzeigen", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Bil&dschirm-Lupe anzeigen", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/en-US.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/en-US.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -33,23 +33,23 @@ CAPTION "Magnifier Settings" FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN - DEFPUSHBUTTON "Ok", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Help", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Magnification level:", IDC_STATIC, 6, 8, 68, 8 + DEFPUSHBUTTON "OK", IDOK, 96, 161, 50, 14 + PUSHBUTTON "&Help", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Magnification &level:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Tracking", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Presentation", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Follow mouse cursor", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Follow &mouse cursor", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Follow keyboard focus", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Follow &keyboard focus", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Follow text editing", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Follow &text editing", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Invert colors", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Invert colors", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Start Minimized", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&Start Minimized", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Show Magnifier", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Sh&ow Magnifier", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/es-ES.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/es-ES.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -38,22 +38,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Aceptar", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Ayuda", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Niveles de aumento:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Ayuda", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Nive&les de aumento:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 76, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Seguimiento", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Presentación", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Seguir el cursor del ratón", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Seguir el &cursor del ratón", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Seguir la entrada del teclado", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Seguir la &entrada del teclado", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Seguir la edición de texto", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Seguir la edición de &texto", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Invertir colores", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Invertir colores", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Comenzar minimizado", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "Comen&zar minimizado", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Mostrar lupa", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "M&ostrar lupa", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/fr-FR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/fr-FR.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Quitter", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Aide", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Coefficient d'agrandissement:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Aide", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Coefficient d'ag&randissement:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Poursuite", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Présentation", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Suivre le curseur de la souris", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Suivre le &curseur de la souris", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Suivre le focus du clavier", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Suivre le &focus du clavier", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Suivre l'édition de texte", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Suivre l'édition de &texte", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Inverser les couleurs", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Inverser les couleurs", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Démarrer réduit", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "Dé&marrer réduit", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Montrer la loupe", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Mo&ntrer la loupe", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/he-IL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/he-IL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/he-IL.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -36,22 +36,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "×צ×××", IDOK, 96, 161, 50, 14 - PUSHBUTTON "×¢×ר×", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "ר×ת ×××××:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "×¢×&ר×", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "ר&×ת ×××××:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "×עק×", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "תצ×××", IDC_STATIC, 7, 87, 139, 57 - CONTROL "עק×× ××ר ס×× ××¢××ר", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "עק×× ××ר ס××& ××¢××ר", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "עק×× ××ר ×××§× ××× ×קש××", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "עק×× ××ר ×××§× ×××& ×קש××", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "עק×× ××ר ער××ת ×קס×", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "עק×× ××ר ער××&ת ×קס×", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "×פ×× ×¦××¢××", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "×פ×× ×¦&××¢××", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "××¤×¢× ××××ער", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "×פע×& ××××ער", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "×ר×× ×××××ת ××××ת", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "×ר×× ×××××ת ××&××ת", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/it-IT.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/it-IT.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Uscita", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Aiuto", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Livello d'ingrandimento:", IDC_STATIC, 6, 8, 78, 8 + PUSHBUTTON "&Aiuto", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "&Livello d'ingrandimento:", IDC_STATIC, 6, 8, 78, 8 COMBOBOX IDC_ZOOM, 96, 6, 48, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Proseguimento", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Presentazione", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Seguire il cursore del mouse", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Seguire il cursore del &mouse", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Seguire la selezione da tastiera", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Seguire la sele&zione da tastiera", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 120, 10 - CONTROL "Seguire l'immissione di testo", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Seguire l'immissione di &testo", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Inverti i colori", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Inverti i colori", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Avvio in minimizzato", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "A&vvio in minimizzato", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Mostra Magnifier", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "M&ostra Magnifier", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/ja-JP.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/ja-JP.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 9, "MS UI Gothic", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "çµäº", IDOK, 96, 161, 50, 14 - PUSHBUTTON "ãã«ã", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "æ¡å¤§ç:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "ãã«ã(&H)", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "æ¡å¤§ç:(&L)", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "æ¡å¤§ã®å¯¾è±¡", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "表示", IDC_STATIC, 7, 87, 139, 57 - CONTROL "ãã¦ã¹ ã«ã¼ã½ã«ã®åãã追ã", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "ãã¦ã¹ ã«ã¼ã½ã«ã®åãã追ã(&M)", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "ãã¼ãã¼ãã®ãã©ã¼ã«ã¹ã追ã", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "ãã¼ãã¼ãã®ãã©ã¼ã«ã¹ã追ã(&K)", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "ç·¨éä¸ã®ããã¹ãã追ã", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "ç·¨éä¸ã®ããã¹ãã追ã(&T)", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "è²ãå転ãã", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "è²ãå転ãã(&I)", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "æå°åãã¦éå§ãã", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "æå°åãã¦éå§ãã(&S)", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "æ¡å¤§é¡ã表示ãã", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "æ¡å¤§é¡ã表示ãã(&O)", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/no-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/no-NO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/no-NO.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Avslutt", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Hjelp", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Forstørrelse nivå:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Hjelp", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Forstørrelse &nivå:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Sporfølging", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Presentasjon", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Følg musen markør", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Følg &musen markør", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Følg tastatur fokus", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Følg tastatur fo&kus", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Følg tekstredigerig", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Følg &tekstredigerig", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Invertere Farger", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Invertere Farger", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Start minimert", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&Start minimert", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Vis forstørrelse", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Vis f&orstørrelse", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/pl-PL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/pl-PL.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -42,22 +42,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "WyjÅcie", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Pomoc", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "StopieÅ powiÄkszenia:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Pomoc", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "StopieÅ powiÄks&zenia:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Åledzenie", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Prezentacja", IDC_STATIC, 7, 87, 139, 57 - CONTROL "PodÄ Å¼aj za kursorem myszki", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "PodÄ Å¼aj za kursore&m myszki", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "PodÄ Å¼aj za aktywnym oknem", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "PodÄ Å¼aj za a&ktywnym oknem", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "PodÄ Å¼aj za tekstem", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "PodÄ Å¼aj za &tekstem", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "OdwrÃ³Ä kolory", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "OdwrÃ³Ä kolor&y", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Uruchom zminimalizowanÄ ", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&Uruchom zminimalizowanÄ ", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Pokaż LupÄ", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "P&okaż LupÄ", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/pt-BR.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/pt-BR.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -36,22 +36,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Sair", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Ajuda", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Taxa de aumento:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Ajuda", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Ta&xa de aumento:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Rastreamento", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Apresentação", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Seguir cursor do mouse", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Seguir cursor do &mouse", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Seguir foco do teclado", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Seguir foco do te&clado", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Seguir edição de texto", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Seguir edição de &texto", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Inverter cores", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Inverter cores", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Iniciar Minimizado", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "I&niciar Minimizado", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Exibir Lupa", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "&Exibir Lupa", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/ro-RO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/ro-RO.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/ro-RO.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -37,21 +37,21 @@ BEGIN DEFPUSHBUTTON "Ã&nchide", IDOK, 96, 161, 50, 14 PUSHBUTTON "&Manualâ¦", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Factorul de mÄrire:", IDC_STATIC, 6, 8, 68, 8 + LTEXT "Factoru&l de mÄrire:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "UrmÄrire", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Prezentare", IDC_STATIC, 7, 87, 139, 57 - CONTROL "UrmÄreÈte cursorul Èoricelului", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "UrmÄreÈte &cursorul Èoricelului", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "UrmÄreÈte focalizarea tastaturii", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "UrmÄreÈte &focalizarea tastaturii", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "UrmÄreÈte editarea textului", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "UrmÄreÈte editarea &textului", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "InverseazÄ culorile", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&InverseazÄ culorile", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "PorneÈte minimizat", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&PorneÈte minimizat", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "AfiÈeazÄ lupÄ", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "&AfiÈeazÄ lupÄ", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/sk-SK.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/sk-SK.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -39,22 +39,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Koniec", IDOK, 96, 161, 50, 14 - PUSHBUTTON "PomocnÃk", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "ÃroveÅ zväÄÅ¡enia:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&PomocnÃk", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "ÃroveÅ z&väÄÅ¡enia:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Sledovanie", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Prezentácia", IDC_STATIC, 7, 87, 139, 57 - CONTROL "SledovaÅ¥ kurzor myÅ¡i", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "SledovaÅ¥ kurzor &myÅ¡i", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "SledovaÅ¥ ovládanie klávesnicou", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "SledovaÅ¥ ovládanie &klávesnicou", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "SledovaÅ¥ úpravu textu", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "SledovaÅ¥ úpravu &textu", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "InvertovaÅ¥ farby", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&InvertovaÅ¥ farby", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "SpustiÅ¥ minimalizovane", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&SpustiÅ¥ minimalizovane", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "ZobraziÅ¥ Lupu", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Z&obraziÅ¥ Lupu", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/sq-AL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/sq-AL.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/sq-AL.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -38,22 +38,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Dil", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Ndihmë", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Niveli i zmadhuesit:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Ndihmë", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Niveli i &zmadhuesit:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Ndjekja", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Prezantimi", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Ndiq kursorin i miut", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Ndiq kursorin i &miut", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Ndiq fokusin e tastieres", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Ndiq fo&kusin e tastieres", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Ndiq editimin e tekstit", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Ndiq editimin e &tekstit", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Konverto ngjyrat", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "K&onverto ngjyrat", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Fillo minimizimin", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&Fillo minimizimin", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Shfaq Magnifierin", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "S&hfaq Magnifierin", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/sv-SE.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/sv-SE.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -34,22 +34,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "Stäng", IDOK, 96, 161, 50, 14 - PUSHBUTTON "Hjälp", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "Forstorings nivå:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&Hjälp", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "Forstorings &nivå:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "Spårning", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "Precentation", IDC_STATIC, 7, 87, 139, 57 - CONTROL "Följ muspekaren", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "Följ &muspekaren", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "Följ tangentmarkören", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "Följ tangentmar&kören", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "Följ textredigering", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "Följ &textredigering", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "Invertera Färger", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&Invertera Färger", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "Starta minimerad", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&Starta minimerad", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "Visa förstoring", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Visa först&oring", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/uk-UA.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/uk-UA.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -42,22 +42,22 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "ÐÐ¸Ñ Ñд", IDOK, 96, 161, 50, 14 - PUSHBUTTON "ÐовÑдка", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "ÐбÑлÑÑеннÑ:", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "&ÐовÑдка", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "ÐбÑлÑÑ&еннÑ:", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "ÐÑдÑÑеженнÑ", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "ÐоданнÑ", IDC_STATIC, 7, 87, 139, 57 - CONTROL "ÐÑдÑÑежÑваÑи вказÑвник миÑÑ", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "ÐÑдÑÑежÑваÑи вказÑвник &миÑÑ", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "ÐÑдÑÑежÑваÑи ÑокÑÑ Ð²Ð²Ð¾Ð´Ñ", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "ÐÑдÑÑежÑваÑ&и ÑокÑÑ Ð²Ð²Ð¾Ð´Ñ", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "ÐÑдÑÑежÑваÑи ÑедагÑÐ²Ð°Ð½Ð½Ñ ÑекÑÑÑ", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "ÐÑдÑ&ÑежÑваÑи ÑедагÑÐ²Ð°Ð½Ð½Ñ ÑекÑÑÑ", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "ÐбеÑнÑÑи колÑоÑи", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "&ÐбеÑнÑÑи колÑоÑи", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "ÐапÑÑÑиÑи Ñ Ð·Ð³Ð¾ÑнÑÑÐ¾Ð¼Ñ Ð²Ð¸Ð³Ð»ÑдÑ", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "&ÐапÑÑÑиÑи Ñ Ð·Ð³Ð¾ÑнÑÑÐ¾Ð¼Ñ Ð²Ð¸Ð³Ð»ÑдÑ", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "ÐоказÑваÑи вÑкно екÑÐ°Ð½Ð½Ð¾Ñ Ð»Ñпи", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "Ðоказ&ÑваÑи вÑкно екÑÐ°Ð½Ð½Ð¾Ñ Ð»Ñпи", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/zh-CN.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/zh-CN.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -42,22 +42,22 @@ FONT 9, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "ç»æ", IDOK, 96, 161, 50, 14 - PUSHBUTTON "帮å©", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "æ¾å¤§åæ°ï¼", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "帮å©(&H)", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "æ¾å¤§åæ°ï¼(&L)", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "追踪", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "å±ç¤º", IDC_STATIC, 7, 87, 139, 57 - CONTROL "è·éæ»é¼ 游æ ", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "è·éæ»é¼ 游æ (&M)", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "è·éé®çç¦ç¹", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "è·éé®çç¦ç¹(&K)", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "è·éææ¬ç¼è¾", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "è·éææ¬ç¼è¾(&T)", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "è²å½©å¯¹æ¢", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "è²å½©å¯¹æ¢(&I)", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "å¼å§æ¶éè", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "å¼å§æ¶éè(&S)", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "æ¾ç¤ºæ¾å¤§é", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "æ¾ç¤ºæ¾å¤§é(&O)", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END Modified: trunk/reactos/base/applications/magnify/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/…
============================================================================== --- trunk/reactos/base/applications/magnify/lang/zh-TW.rc [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/lang/zh-TW.rc [iso-8859-1] Sat Jun 4 17:37:40 2016 @@ -42,22 +42,22 @@ FONT 9, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "çµæ", IDOK, 96, 161, 50, 14 - PUSHBUTTON "說æ", IDC_BUTTON_HELP, 38, 161, 50, 14 - LTEXT "æ¾å¤§åæ¸ï¼", IDC_STATIC, 6, 8, 68, 8 + PUSHBUTTON "說æ(&H)", IDC_BUTTON_HELP, 38, 161, 50, 14 + LTEXT "æ¾å¤§åæ¸ï¼(&L)", IDC_STATIC, 6, 8, 68, 8 COMBOBOX IDC_ZOOM, 72, 6, 63, 66, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP GROUPBOX "追蹤", IDC_STATIC, 7, 25, 139, 59 GROUPBOX "å±ç¤º", IDC_STATIC, 7, 87, 139, 57 - CONTROL "è·é¨æ»é¼ ææ¨", IDC_FOLLOWMOUSECHECK, "Button", + CONTROL "è·é¨æ»é¼ ææ¨(&M)", IDC_FOLLOWMOUSECHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 42, 114, 10 - CONTROL "è·é¨éµç¤ç¦é»", IDC_FOLLOWKEYBOARDCHECK, "Button", + CONTROL "è·é¨éµç¤ç¦é»(&K)", IDC_FOLLOWKEYBOARDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 54, 114, 10 - CONTROL "è·é¨æå編輯", IDC_FOLLOWTEXTEDITINGCHECK, "Button", + CONTROL "è·é¨æå編輯(&T)", IDC_FOLLOWTEXTEDITINGCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 66, 114, 10 - CONTROL "è²å½©å°æ", IDC_INVERTCOLORSCHECK, "Button", + CONTROL "è²å½©å°æ(&I)", IDC_INVERTCOLORSCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 102, 114, 10 - CONTROL "éå§æé±è", IDC_STARTMINIMIZEDCHECK, "Button", + CONTROL "éå§æé±è(&S)", IDC_STARTMINIMIZEDCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 114, 114, 10 - CONTROL "顯示æ¾å¤§é¡", IDC_SHOWMAGNIFIERCHECK, "Button", + CONTROL "顯示æ¾å¤§é¡(&O)", IDC_SHOWMAGNIFIERCHECK, "Button", BS_AUTOCHECKBOX | WS_TABSTOP, 18, 126, 114, 10 END
8 years, 7 months
1
0
0
0
[mjansen] 71513: [APPSHIM_APITEST] Show a few shims that do not use hooks to function.
by mjansen@svn.reactos.org
Author: mjansen Date: Sat Jun 4 14:51:38 2016 New Revision: 71513 URL:
http://svn.reactos.org/svn/reactos?rev=71513&view=rev
Log: [APPSHIM_APITEST] Show a few shims that do not use hooks to function. Modified: trunk/rostests/apitests/appshim/versionlie.c Modified: trunk/rostests/apitests/appshim/versionlie.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/appshim/versionl…
============================================================================== --- trunk/rostests/apitests/appshim/versionlie.c [iso-8859-1] (original) +++ trunk/rostests/apitests/appshim/versionlie.c [iso-8859-1] Sat Jun 4 14:51:38 2016 @@ -279,6 +279,21 @@ } } +static void hookless_shim(LPCSTR shim) +{ + DWORD num_shims = 0; + WCHAR wide_shim[50] = { 0 }; + PHOOKAPI hook; + MultiByteToWideChar(CP_ACP, 0, shim, -1, wide_shim, 50); + hook = pGetHookAPIs("", wide_shim, &num_shims); + if (hook == NULL) + { + skip("Skipping tests for layers (%s) not present in this os (0x%x)\n", shim, g_WinVersion); + return; + } + ok(hook != NULL, "Expected hook to be a valid pointer for %s\n", shim); + ok(num_shims == 0, "Expected not to find any apihooks, got: %u for %s\n", num_shims, shim); +} VersionLieInfo g_Win95 = { 0xC3B60004, 4, 0, 950, VER_PLATFORM_WIN32_WINDOWS, 0, 0 }; VersionLieInfo g_WinNT4SP5 = { 0x05650004, 4, 0, 1381, VER_PLATFORM_WIN32_NT, 5, 0 }; @@ -355,4 +370,8 @@ run_test("VistaSP1VersionLie", &g_WinVistaSP1); run_test("VistaSP2VersionLie", &g_WinVistaSP2); run_test("Win7RTMVersionLie", &g_Win7RTM); -} + + hookless_shim("Force8BitColor"); + hookless_shim("Force640x480"); + hookless_shim("DisableThemes"); +}
8 years, 7 months
1
0
0
0
[hbelusca] 71512: [EXPLORER] - Start to convert the code to pure Unicode. - Use _countof where needed. - Use UINT for loop counters where the counter value is always positive. - Some whitespace fixes.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Sat Jun 4 14:09:20 2016 New Revision: 71512 URL:
http://svn.reactos.org/svn/reactos?rev=71512&view=rev
Log: [EXPLORER] - Start to convert the code to pure Unicode. - Use _countof where needed. - Use UINT for loop counters where the counter value is always positive. - Some whitespace fixes. Modified: trunk/reactos/base/shell/explorer/desktop.cpp trunk/reactos/base/shell/explorer/explorer.cpp trunk/reactos/base/shell/explorer/notifyiconscust.cpp trunk/reactos/base/shell/explorer/precomp.h trunk/reactos/base/shell/explorer/rshell.cpp trunk/reactos/base/shell/explorer/settings.cpp trunk/reactos/base/shell/explorer/shellservice.cpp trunk/reactos/base/shell/explorer/startctxmnu.cpp trunk/reactos/base/shell/explorer/startmnu.cpp trunk/reactos/base/shell/explorer/startmnucust.cpp trunk/reactos/base/shell/explorer/startmnusite.cpp trunk/reactos/base/shell/explorer/startup.cpp trunk/reactos/base/shell/explorer/taskswnd.cpp trunk/reactos/base/shell/explorer/tbsite.cpp trunk/reactos/base/shell/explorer/trayntfy.cpp trunk/reactos/base/shell/explorer/trayprop.cpp trunk/reactos/base/shell/explorer/traywnd.cpp trunk/reactos/base/shell/explorer/util.cpp Modified: trunk/reactos/base/shell/explorer/desktop.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/deskto…
============================================================================== --- trunk/reactos/base/shell/explorer/desktop.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/desktop.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -75,7 +75,7 @@ m_Tray = pTray; - m_hEvent = CreateEvent(NULL, FALSE, FALSE, NULL); + m_hEvent = CreateEventW(NULL, FALSE, FALSE, NULL); if (!m_hEvent) return E_FAIL; @@ -120,7 +120,7 @@ CDesktopThread* pDesktopThread = new CDesktopThread(); HRESULT hres = pDesktopThread->Initialize(Tray); - if(FAILED_UNEXPECTEDLY(hres)) + if (FAILED_UNEXPECTEDLY(hres)) { delete pDesktopThread; return NULL; Modified: trunk/reactos/base/shell/explorer/explorer.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/explor…
============================================================================== --- trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/explorer.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -55,11 +55,11 @@ #if !WIN7_DEBUG_MODE static BOOL -SetShellReadyEvent(IN LPCTSTR lpEventName) +SetShellReadyEvent(IN LPCWSTR lpEventName) { HANDLE hEvent; - hEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, lpEventName); + hEvent = OpenEventW(EVENT_MODIFY_STATE, FALSE, lpEventName); if (hEvent != NULL) { SetEvent(hEvent); @@ -77,17 +77,17 @@ MINIMIZEDMETRICS mm; mm.cbSize = sizeof(mm); - if (!SystemParametersInfo(SPI_GETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) - { - ERR("SystemParametersInfo failed with %lu\n", GetLastError()); + if (!SystemParametersInfoW(SPI_GETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) + { + ERR("SystemParametersInfoW failed with %lu\n", GetLastError()); return; } if (bHide) mm.iArrange |= ARW_HIDE; else mm.iArrange &= ~ARW_HIDE; - if (!SystemParametersInfo(SPI_SETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) - ERR("SystemParametersInfo failed with %lu\n", GetLastError()); + if (!SystemParametersInfoW(SPI_SETMINIMIZEDMETRICS, sizeof(mm), &mm, 0)) + ERR("SystemParametersInfoW failed with %lu\n", GetLastError()); } #endif @@ -119,12 +119,12 @@ { InitializeAtlModule(hInstance, TRUE); - if (RegOpenKey(HKEY_CURRENT_USER, + if (RegOpenKeyW(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer", &hkExplorer) != ERROR_SUCCESS) { WCHAR Message[256]; - LoadString(hInstance, IDS_STARTUP_ERROR, Message, 256); + LoadStringW(hInstance, IDS_STARTUP_ERROR, Message, _countof(Message)); MessageBox(NULL, Message, NULL, MB_ICONERROR); return 1; } @@ -166,8 +166,8 @@ hShellDesktop = DesktopCreateWindow(Tray); /* WinXP: Notify msgina to hide the welcome screen */ - if (!SetShellReadyEvent(TEXT("msgina: ShellReadyEvent"))) - SetShellReadyEvent(TEXT("Global\\msgina: ShellReadyEvent")); + if (!SetShellReadyEvent(L"msgina: ShellReadyEvent")) + SetShellReadyEvent(L"Global\\msgina: ShellReadyEvent"); #endif if (Tray != NULL) Modified: trunk/reactos/base/shell/explorer/notifyiconscust.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/notify…
============================================================================== --- trunk/reactos/base/shell/explorer/notifyiconscust.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/notifyiconscust.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -46,5 +46,5 @@ VOID ShowCustomizeNotifyIcons(HINSTANCE hInst, HWND hExplorer) { - DialogBox(hInst, MAKEINTRESOURCE(IDD_NOTIFICATIONS_CUSTOMIZE), hExplorer, CustomizeNotifyIconsProc); + DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_NOTIFICATIONS_CUSTOMIZE), hExplorer, CustomizeNotifyIconsProc); } Modified: trunk/reactos/base/shell/explorer/precomp.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/precom…
============================================================================== --- trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/precomp.h [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -65,8 +65,8 @@ static inline LONG SetWindowStyle(IN HWND hWnd, -IN LONG dwStyleMask, -IN LONG dwStyle) + IN LONG dwStyleMask, + IN LONG dwStyle) { return SHSetWindowBits(hWnd, GWL_STYLE, dwStyleMask, dwStyle); } @@ -74,35 +74,35 @@ static inline LONG SetWindowExStyle(IN HWND hWnd, -IN LONG dwStyleMask, -IN LONG dwStyle) + IN LONG dwStyleMask, + IN LONG dwStyle) { return SHSetWindowBits(hWnd, GWL_EXSTYLE, dwStyleMask, dwStyle); } HMENU LoadPopupMenu(IN HINSTANCE hInstance, -IN LPCTSTR lpMenuName); + IN LPCWSTR lpMenuName); HMENU FindSubMenu(IN HMENU hMenu, -IN UINT uItem, -IN BOOL fByPosition); - -BOOL -GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer, -IN DWORD dwBufferSize); + IN UINT uItem, + IN BOOL fByPosition); + +BOOL +GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer, + IN DWORD dwBufferSize); BOOL FormatMenuString(IN HMENU hMenu, -IN UINT uPosition, -IN UINT uFlags, -...); + IN UINT uPosition, + IN UINT uFlags, + ...); BOOL GetExplorerRegValueSet(IN HKEY hKey, -IN LPCTSTR lpSubKey, -IN LPCTSTR lpValue); + IN LPCWSTR lpSubKey, + IN LPCWSTR lpValue); /* * rshell.c @@ -190,9 +190,9 @@ LoadAdvancedSettings(VOID); BOOL -SaveSettingDword(IN PCTSTR pszKeyName, -IN PCTSTR pszValueName, -IN DWORD dwValue); +SaveSettingDword(IN LPCWSTR pszKeyName, + IN LPCWSTR pszValueName, + IN DWORD dwValue); /* * shellservice.cpp @@ -311,9 +311,9 @@ IMenuPopup* CreateStartMenu(IN ITrayWindow *Tray, -OUT IMenuBand **ppMenuBand, -IN HBITMAP hbmBanner OPTIONAL, -IN BOOL bSmallIcons); + OUT IMenuBand **ppMenuBand, + IN HBITMAP hbmBanner OPTIONAL, + IN BOOL bSmallIcons); /* * startmnucust.cpp Modified: trunk/reactos/base/shell/explorer/rshell.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/rshell…
============================================================================== --- trunk/reactos/base/shell/explorer/rshell.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/rshell.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -34,7 +34,7 @@ if (hRShell) { PSTARTMENU_CONSTRUCTOR func = (PSTARTMENU_CONSTRUCTOR)GetProcAddress(hRShell, "CStartMenu_Constructor"); - if(func) + if (func) { return func(riid, ppv); } Modified: trunk/reactos/base/shell/explorer/settings.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/settin…
============================================================================== --- trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/settings.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -21,7 +21,7 @@ #include "precomp.h" ADVANCED_SETTINGS AdvancedSettings; -const WCHAR szAdvancedSettingsKey[] = TEXT("Software\\ReactOS\\Features\\Explorer"); +const WCHAR szAdvancedSettingsKey[] = L"Software\\ReactOS\\Features\\Explorer"; VOID LoadAdvancedSettings(VOID) @@ -32,12 +32,12 @@ AdvancedSettings.bShowSeconds = FALSE; /* Check registry */ - if (RegOpenKey(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS) + if (RegOpenKeyW(HKEY_CURRENT_USER, szAdvancedSettingsKey, &hKey) == ERROR_SUCCESS) { DWORD dwValue, dwValueLength, dwType; dwValueLength = sizeof(dwValue); - if (RegQueryValueEx(hKey, TEXT("ShowSeconds"), NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD) + if (RegQueryValueExW(hKey, L"ShowSeconds", NULL, &dwType, (PBYTE)&dwValue, &dwValueLength) == ERROR_SUCCESS && dwType == REG_DWORD) AdvancedSettings.bShowSeconds = dwValue != 0; RegCloseKey(hKey); @@ -45,16 +45,16 @@ } BOOL -SaveSettingDword(IN PCTSTR pszKeyName, - IN PCTSTR pszValueName, +SaveSettingDword(IN LPCWSTR pszKeyName, + IN LPCWSTR pszValueName, IN DWORD dwValue) { BOOL ret = FALSE; HKEY hKey; - if (RegCreateKey(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS) + if (RegCreateKeyW(HKEY_CURRENT_USER, pszKeyName, &hKey) == ERROR_SUCCESS) { - ret = RegSetValueEx(hKey, pszValueName, 0, REG_DWORD, (PBYTE)&dwValue, sizeof(dwValue)) == ERROR_SUCCESS; + ret = RegSetValueExW(hKey, pszValueName, 0, REG_DWORD, (PBYTE)&dwValue, sizeof(dwValue)) == ERROR_SUCCESS; RegCloseKey(hKey); } Modified: trunk/reactos/base/shell/explorer/shellservice.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/shells…
============================================================================== --- trunk/reactos/base/shell/explorer/shellservice.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/shellservice.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -62,11 +62,11 @@ TRACE("Enumerating Shell Service Ojbect GUIDs...\n"); - if (RegOpenKey(HKEY_LOCAL_MACHINE, + if (RegOpenKeyW(HKEY_LOCAL_MACHINE, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ShellServiceObjectDelayLoad", &hkey)) { - ERR("RegOpenKey failed.\n"); + ERR("RegOpenKeyW failed.\n"); return HRESULT_FROM_WIN32(GetLastError()); } Modified: trunk/reactos/base/shell/explorer/startctxmnu.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startc…
============================================================================== --- trunk/reactos/base/shell/explorer/startctxmnu.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/startctxmnu.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -70,10 +70,10 @@ HRESULT hRet; /* Add the "Open All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_PROPERTIES, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) + if (LoadStringW(hExplorerInstance, + IDS_PROPERTIES, + szBuf, + _countof(szBuf))) { AppendMenu(hPopup, MF_STRING, @@ -103,10 +103,10 @@ NULL); /* Add the "Open All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_OPEN_ALL_USERS, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) + if (LoadStringW(hExplorerInstance, + IDS_OPEN_ALL_USERS, + szBuf, + _countof(szBuf))) { AppendMenu(hPopup, MF_STRING, @@ -115,10 +115,10 @@ } /* Add the "Explore All Users" menu item */ - if (LoadString(hExplorerInstance, - IDS_EXPLORE_ALL_USERS, - szBuf, - sizeof(szBuf) / sizeof(szBuf[0]))) + if (LoadStringW(hExplorerInstance, + IDS_EXPLORE_ALL_USERS, + szBuf, + _countof(szBuf))) { AppendMenu(hPopup, MF_STRING, @@ -236,6 +236,7 @@ COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu) END_COM_MAP() }; + HRESULT StartMenuBtnCtxMenuCreator(ITrayWindow * m_TrayWnd, IN HWND m_Owner, IContextMenu ** ppCtxMenu) { CStartMenuBtnCtxMenu * mnu = new CComObject<CStartMenuBtnCtxMenu>(); Modified: trunk/reactos/base/shell/explorer/startmnu.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startm…
============================================================================== --- trunk/reactos/base/shell/explorer/startmnu.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/startmnu.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -40,10 +40,10 @@ return hRet; } -IMenuPopup * +IMenuPopup* CreateStartMenu(IN ITrayWindow *Tray, OUT IMenuBand **ppMenuBand, - IN HBITMAP hbmBanner OPTIONAL, + IN HBITMAP hbmBanner OPTIONAL, IN BOOL bSmallIcons) { HRESULT hr; Modified: trunk/reactos/base/shell/explorer/startmnucust.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startm…
============================================================================== --- trunk/reactos/base/shell/explorer/startmnucust.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/startmnucust.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -21,14 +21,14 @@ #include "precomp.h" -VOID OnAddStartmenuItems(HWND hDlg) +VOID OnAddStartMenuItems(HWND hDlg) { WCHAR szPath[MAX_PATH]; - if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath))) + if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath))) { WCHAR szCommand[MAX_PATH] = L"appwiz.cpl,NewLinkHere "; - if(SUCCEEDED(StringCchCatW(szCommand, MAX_PATH, szPath))) + if (SUCCEEDED(StringCchCatW(szCommand, MAX_PATH, szPath))) ShellExecuteW(hDlg, L"open", L"rundll32.exe", szCommand, NULL, SW_SHOWNORMAL); } } @@ -37,7 +37,7 @@ { WCHAR szPath[MAX_PATH]; - if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath))) + if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_STARTMENU, NULL, 0, szPath))) { ShellExecuteW(NULL, L"explore", szPath, NULL, NULL, SW_SHOWNORMAL); } @@ -46,19 +46,19 @@ VOID OnClearRecentItems() { WCHAR szPath[MAX_PATH], szFile[MAX_PATH]; - WIN32_FIND_DATA info; + WIN32_FIND_DATAW info; HANDLE hPath; - if(SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_RECENT, NULL, 0, szPath))) + if (SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_RECENT, NULL, 0, szPath))) { - StringCchPrintf(szFile,MAX_PATH, L"%s\\*.*", szPath); + StringCchPrintfW(szFile,MAX_PATH, L"%s\\*.*", szPath); hPath = FindFirstFileW(szFile, &info); do { - StringCchPrintf(szFile,MAX_PATH, L"%s\\%s", szPath, info.cFileName); + StringCchPrintfW(szFile,MAX_PATH, L"%s\\%s", szPath, info.cFileName); DeleteFileW(szFile); - - }while(FindNextFileW(hPath, &info)); + } + while (FindNextFileW(hPath, &info)); FindClose(hPath); /* FIXME: Disable the button*/ } @@ -75,7 +75,7 @@ switch(LOWORD(wParam)) { case IDC_CLASSICSTART_ADD: - OnAddStartmenuItems(hwnd); + OnAddStartMenuItems(hwnd); break; case IDC_CLASSICSTART_ADVANCED: OnAdvancedStartMenuItems(); @@ -99,5 +99,5 @@ VOID ShowCustomizeClassic(HINSTANCE hInst, HWND hExplorer) { - DialogBox(hInst, MAKEINTRESOURCE(IDD_CLASSICSTART_CUSTOMIZE), hExplorer, CustomizeClassicProc); + DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_CLASSICSTART_CUSTOMIZE), hExplorer, CustomizeClassicProc); } Modified: trunk/reactos/base/shell/explorer/startmnusite.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startm…
============================================================================== --- trunk/reactos/base/shell/explorer/startmnusite.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/startmnusite.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -123,8 +123,7 @@ TRACE("ITrayPriv::AppendMenu\n"); - hMenu = LoadPopupMenu(hExplorerInstance, - MAKEINTRESOURCE(IDM_STARTMENU)); + hMenu = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCEW(IDM_STARTMENU)); *phMenu = hMenu; if (hMenu == NULL) return E_FAIL; @@ -135,13 +134,13 @@ bWantLogoff = (dwLogoff == 2 || SHRestricted(REST_FORCESTARTMENULOGOFF) || GetExplorerRegValueSet(HKEY_CURRENT_USER, - TEXT("Advanced"), - TEXT("StartMenuLogoff"))); + L"Advanced", + L"StartMenuLogoff")); /* Favorites */ if (!GetExplorerRegValueSet(HKEY_CURRENT_USER, - TEXT("Advanced"), - TEXT("StartMenuFavorites"))) + L"Advanced", + L"StartMenuFavorites")) { DeleteMenu(hMenu, IDM_FAVORITES, @@ -243,8 +242,7 @@ or hide it, it might be hidden in too many cases!!! */ /* Update Log Off menu item */ - if (!GetCurrentLoggedOnUserName(szUser, - sizeof(szUser) / sizeof(szUser[0]))) + if (!GetCurrentLoggedOnUserName(szUser, _countof(szUser))) { szUser[0] = _T('\0'); } Modified: trunk/reactos/base/shell/explorer/startup.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/startu…
============================================================================== --- trunk/reactos/base/shell/explorer/startup.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/startup.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -60,7 +60,7 @@ DWORD exit_code = 0; WCHAR szCmdLineExp[MAX_PATH+1] = L"\0"; - ExpandEnvironmentStringsW(cmdline, szCmdLineExp, sizeof(szCmdLineExp) / sizeof(WCHAR)); + ExpandEnvironmentStringsW(cmdline, szCmdLineExp, _countof(szCmdLineExp)); memset(&si, 0, sizeof(si)); si.cb = sizeof(si); @@ -123,7 +123,7 @@ &hkWin); if (res != ERROR_SUCCESS) { - TRACE("RegOpenKey failed on Software\\Microsoft\\Windows\\CurrentVersion (%ld)\n", res); + TRACE("RegOpenKeyW failed on Software\\Microsoft\\Windows\\CurrentVersion (%ld)\n", res); goto end; } @@ -142,7 +142,7 @@ res = ERROR_SUCCESS; } else - TRACE("RegOpenKeyEx failed on run key (%ld)\n", res); + TRACE("RegOpenKeyExW failed on run key (%ld)\n", res); goto end; } @@ -271,7 +271,7 @@ HKEY hSessionKey, hKey; HRESULT hr; - res = GetWindowsDirectoryW(gen_path, sizeof(gen_path) / sizeof(gen_path[0])); + res = GetWindowsDirectoryW(gen_path, _countof(gen_path)); if (res == 0) { TRACE("Couldn't get the windows directory - error %lu\n", GetLastError()); Modified: trunk/reactos/base/shell/explorer/taskswnd.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/tasksw…
============================================================================== --- trunk/reactos/base/shell/explorer/taskswnd.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/taskswnd.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -32,8 +32,8 @@ #define MAX_TASKS_COUNT (0x7FFF) #define TASK_ITEM_ARRAY_ALLOC 64 -const WCHAR szTaskSwitchWndClass [] = TEXT("MSTaskSwWClass"); -const WCHAR szRunningApps [] = TEXT("Running Applications"); +const WCHAR szTaskSwitchWndClass[] = L"MSTaskSwWClass"; +const WCHAR szRunningApps[] = L"Running Applications"; #if DEBUG_SHELL_HOOK const struct { @@ -420,7 +420,7 @@ icon = GetWndIcon(TaskItem->hWnd); if (!icon) - icon = static_cast<HICON>(LoadImage(NULL, MAKEINTRESOURCE(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE)); + icon = static_cast<HICON>(LoadImageW(NULL, MAKEINTRESOURCEW(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE)); TaskItem->IconIndex = ImageList_ReplaceIcon(m_ImageList, TaskItem->IconIndex, icon); tbbi.iImage = TaskItem->IconIndex; @@ -565,7 +565,7 @@ icon = GetWndIcon(TaskItem->hWnd); if (!icon) - icon = static_cast<HICON>(LoadImage(NULL, MAKEINTRESOURCE(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE)); + icon = static_cast<HICON>(LoadImageW(NULL, MAKEINTRESOURCEW(OIC_SAMPLE), IMAGE_ICON, 0, 0, LR_SHARED | LR_DEFAULTSIZE)); TaskItem->IconIndex = ImageList_ReplaceIcon(m_ImageList, -1, icon); tbBtn.iBitmap = TaskItem->IconIndex; @@ -977,8 +977,7 @@ TaskItem = AllocTaskItem(); if (TaskItem != NULL) { - ZeroMemory(TaskItem, - sizeof(*TaskItem)); + ZeroMemory(TaskItem, sizeof(*TaskItem)); TaskItem->hWnd = hWnd; TaskItem->Index = -1; TaskItem->Group = AddToTaskGroup(hWnd); @@ -1304,7 +1303,7 @@ m_TaskBar.UpdateTbButtonSpacing(m_Tray->IsHorizontal(), m_Theme != NULL); /* Register the shell hook */ - m_ShellHookMsg = RegisterWindowMessage(TEXT("SHELLHOOK")); + m_ShellHookMsg = RegisterWindowMessageW(L"SHELLHOOK"); TRACE("ShellHookMsg got assigned number %d\n", m_ShellHookMsg); @@ -1420,7 +1419,7 @@ { #if DEBUG_SHELL_HOOK int i, found; - for (i = 0, found = 0; i != sizeof(hshell_msg) / sizeof(hshell_msg[0]); i++) + for (i = 0, found = 0; i != _countof(hshell_msg); i++) { if (hshell_msg[i].msg == (INT) wParam) { Modified: trunk/reactos/base/shell/explorer/tbsite.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/tbsite…
============================================================================== --- trunk/reactos/base/shell/explorer/tbsite.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/tbsite.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -137,8 +137,7 @@ /* Read the current position of the stream, we'll have to reset it everytime we read a CLSID that's not the task band... */ - ZeroMemory(&liPosZero, - sizeof(liPosZero)); + ZeroMemory(&liPosZero, sizeof(liPosZero)); hRet = pStm->Seek(liPosZero, STREAM_SEEK_CUR, &liCurrent); if (SUCCEEDED(hRet)) @@ -564,14 +563,14 @@ HKEY hkStreams; IStream *Stream = NULL; - if (RegCreateKey(hkExplorer, - TEXT("Streams"), - &hkStreams) == ERROR_SUCCESS) - { - Stream = SHOpenRegStream(hkStreams, - TEXT("Desktop"), - TEXT("TaskbarWinXP"), - grfMode); + if (RegCreateKeyW(hkExplorer, + L"Streams", + &hkStreams) == ERROR_SUCCESS) + { + Stream = SHOpenRegStreamW(hkStreams, + L"Desktop", + L"TaskbarWinXP", + grfMode); RegCloseKey(hkStreams); } @@ -584,14 +583,14 @@ HKEY hkStreams; IStream *Stream = NULL; - if (RegCreateKey(HKEY_LOCAL_MACHINE, - TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Streams"), + if (RegCreateKeyW(HKEY_LOCAL_MACHINE, + L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Streams", &hkStreams) == ERROR_SUCCESS) { - Stream = SHOpenRegStream(hkStreams, - TEXT("Desktop"), - TEXT("Default Taskbar"), - grfMode); + Stream = SHOpenRegStreamW(hkStreams, + L"Desktop", + L"Default Taskbar", + grfMode); RegCloseKey(hkStreams); } @@ -752,10 +751,10 @@ }; /*******************************************************************/ -ITrayBandSite * +ITrayBandSite* CreateTrayBandSite(IN OUT ITrayWindow *Tray, -OUT HWND *phWndRebar, -OUT HWND *phWndTaskSwitch) + OUT HWND *phWndRebar, + OUT HWND *phWndTaskSwitch) { HRESULT hr; Modified: trunk/reactos/base/shell/explorer/trayntfy.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traynt…
============================================================================== --- trunk/reactos/base/shell/explorer/trayntfy.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/trayntfy.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -26,7 +26,7 @@ /* * SysPagerWnd */ -static const WCHAR szSysPagerWndClass [] = TEXT("SysPager"); +static const WCHAR szSysPagerWndClass [] = L"SysPager"; // Data comes from shell32/systray.cpp -> TrayNotifyCDS_Dummy typedef struct _SYS_PAGER_COPY_DATA @@ -86,7 +86,7 @@ { TBBUTTON tbBtn; NOTIFYICONDATA * notifyItem; - WCHAR text [] = TEXT(""); + WCHAR text[] = L""; int index = FindItemByIconData(iconData, ¬ifyItem); if (index >= 0) @@ -450,10 +450,9 @@ Toolbar.Initialize(m_hWnd); // Explicitly request running applications to re-register their systray icons - ::SendNotifyMessage(HWND_BROADCAST, - RegisterWindowMessage(TEXT("TaskbarCreated")), - 0, - 0); + ::SendNotifyMessageW(HWND_BROADCAST, + RegisterWindowMessageW(L"TaskbarCreated"), + 0, 0); return TRUE; } @@ -626,7 +625,7 @@ * TrayClockWnd */ -static const WCHAR szTrayClockWndClass [] = TEXT("TrayClockWClass"); +static const WCHAR szTrayClockWndClass[] = L"TrayClockWClass"; #define ID_TRAYCLOCK_TIMER 0 #define ID_TRAYCLOCK_TIMER_INIT 1 @@ -635,14 +634,14 @@ { BOOL IsTime; DWORD dwFormatFlags; - LPCTSTR lpFormat; + LPCWSTR lpFormat; } ClockWndFormats [] = { - { TRUE, 0, NULL }, - { FALSE, 0, TEXT("dddd") }, - { FALSE, DATE_SHORTDATE, NULL } + { TRUE, 0, NULL }, + { FALSE, 0, L"dddd" }, + { FALSE, DATE_SHORTDATE, NULL } }; -#define CLOCKWND_FORMAT_COUNT (sizeof(ClockWndFormats) / sizeof(ClockWndFormats[0])) +#define CLOCKWND_FORMAT_COUNT (_ARRAYSIZE(ClockWndFormats)) #define TRAY_CLOCK_WND_SPACING_X 0 #define TRAY_CLOCK_WND_SPACING_Y 0 @@ -687,7 +686,7 @@ ZeroMemory(&LocalTime, sizeof(LocalTime)); ZeroMemory(&CurrentSize, sizeof(CurrentSize)); ZeroMemory(LineSizes, sizeof(LineSizes)); - ZeroMemory(szLines, sizeof(LineSizes)); + ZeroMemory(szLines, sizeof(szLines)); } virtual ~CTrayClockWnd() { } @@ -720,7 +719,7 @@ { NONCLIENTMETRICS ncm = { 0 }; ncm.cbSize = sizeof(ncm); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE); + SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE); hFont = CreateFontIndirectW(&ncm.lfMessageFont); @@ -743,7 +742,7 @@ { HDC hDC; HFONT hPrevFont; - INT c, i; + UINT c, i; BOOL bRet = TRUE; hDC = GetDC(); @@ -752,11 +751,11 @@ if (hFont) hPrevFont = (HFONT) SelectObject(hDC, hFont); - for (i = 0; i != CLOCKWND_FORMAT_COUNT && bRet; i++) - { - if (szLines[i][0] != TEXT('\0') && - !GetTextExtentPoint(hDC, szLines[i], _tcslen(szLines[i]), - &LineSizes[i])) + for (i = 0; i < CLOCKWND_FORMAT_COUNT && bRet; i++) + { + if (szLines[i][0] != L'\0' && + !GetTextExtentPointW(hDC, szLines[i], wcslen(szLines[i]), + &LineSizes[i])) { bRet = FALSE; break; @@ -773,7 +772,7 @@ LineSpacing = 0; /* calculate the line spacing */ - for (i = 0, c = 0; i != CLOCKWND_FORMAT_COUNT; i++) + for (i = 0, c = 0; i < CLOCKWND_FORMAT_COUNT; i++) { if (LineSizes[i].cx > 0) { @@ -798,7 +797,7 @@ WORD GetMinimumSize(IN BOOL Horizontal, IN OUT PSIZE pSize) { WORD iLinesVisible = 0; - INT i; + UINT i; SIZE szMax = { 0, 0 }; if (!LinesMeasured) @@ -807,9 +806,7 @@ if (!LinesMeasured) return 0; - for (i = 0; - i != CLOCKWND_FORMAT_COUNT; - i++) + for (i = 0; i < CLOCKWND_FORMAT_COUNT; i++) { if (LineSizes[i].cx != 0) { @@ -851,23 +848,21 @@ } - VOID UpdateWnd() + VOID UpdateWnd() { SIZE szPrevCurrent; - INT BufSize, iRet, i; + UINT BufSize, i; + INT iRet; RECT rcClient; - ZeroMemory(LineSizes, - sizeof(LineSizes)); + ZeroMemory(LineSizes, sizeof(LineSizes)); szPrevCurrent = CurrentSize; - for (i = 0; - i != CLOCKWND_FORMAT_COUNT; - i++) - { - szLines[i][0] = TEXT('\0'); - BufSize = sizeof(szLines[0]) / sizeof(szLines[0][0]); + for (i = 0; i < CLOCKWND_FORMAT_COUNT; i++) + { + szLines[i][0] = L'\0'; + BufSize = _countof(szLines[0]); if (ClockWndFormats[i].IsTime) { @@ -931,13 +926,13 @@ } } - VOID Update() + VOID Update() { GetLocalTime(&LocalTime); UpdateWnd(); } - UINT CalculateDueTime() + UINT CalculateDueTime() { UINT uiDueTime; @@ -961,7 +956,7 @@ return uiDueTime; } - BOOL ResetTime() + BOOL ResetTime() { UINT uiDueTime; BOOL Ret; @@ -990,7 +985,7 @@ return Ret; } - VOID CalibrateTimer() + VOID CalibrateTimer() { UINT uiDueTime; BOOL Ret; @@ -1052,7 +1047,8 @@ { RECT rcClient; HFONT hPrevFont; - int iPrevBkMode, i, line; + INT iPrevBkMode; + UINT i, line; PAINTSTRUCT ps; HDC hDC = (HDC) wParam; @@ -1080,8 +1076,8 @@ rcClient.bottom = rcClient.top + CurrentSize.cy; for (i = 0, line = 0; - i != CLOCKWND_FORMAT_COUNT && line < VisibleLines; - i++) + i < CLOCKWND_FORMAT_COUNT && line < VisibleLines; + i++) { if (LineSizes[i].cx != 0) { @@ -1090,7 +1086,7 @@ TRAY_CLOCK_WND_SPACING_X, rcClient.top + TRAY_CLOCK_WND_SPACING_Y, szLines[i], - _tcslen(szLines[i])); + wcslen(szLines[i])); rcClient.top += LineSizes[i].cy + LineSpacing; line++; Modified: trunk/reactos/base/shell/explorer/trayprop.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traypr…
============================================================================== --- trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/trayprop.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -64,23 +64,23 @@ bHideInactive = (SendMessage(hwndHideInactive, BM_GETCHECK, 0, 0) == BST_CHECKED); if (bHide) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_AUTOHIDE); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_AUTOHIDE); else if (bLock && bGroup && bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_QL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_GROUP_QL); else if (bLock && !bGroup && !bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_NOQL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_NOGROUP_NOQL); else if (bLock && bGroup && !bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_GROUP_NOQL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_GROUP_NOQL); else if (bLock && !bGroup && bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_LOCK_NOGROUP_QL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_LOCK_NOGROUP_QL); else if (!bLock && !bGroup && !bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_NOGROUP_NOQL); else if (!bLock && bGroup && !bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_NOQL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_GROUP_NOQL); else if (!bLock && !bGroup && bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_NOGROUP_QL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_NOGROUP_QL); else if (!bLock && bGroup && bShowQL) - lpTaskBarImageName = MAKEINTRESOURCE(IDB_TASKBARPROP_NOLOCK_GROUP_QL); + lpTaskBarImageName = MAKEINTRESOURCEW(IDB_TASKBARPROP_NOLOCK_GROUP_QL); if (lpTaskBarImageName) @@ -90,7 +90,7 @@ DeleteObject(pPropInfo->hTaskbarBitmap); } - pPropInfo->hTaskbarBitmap = (HBITMAP)LoadImage(hExplorerInstance, + pPropInfo->hTaskbarBitmap = (HBITMAP)LoadImageW(hExplorerInstance, lpTaskBarImageName, IMAGE_BITMAP, 0, @@ -113,48 +113,48 @@ if (bHideInactive) { EnableWindow(hwndAdvancedButton, TRUE); - if(bShowClock) + if (bShowClock) { EnableWindow(hwndSeconds, TRUE); - if(bShowSeconds) - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_SECONDS); + if (bShowSeconds) + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_SECONDS); else - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_CLOCK); + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_CLOCK); } else { SendMessage(hwndSeconds, BM_SETCHECK, BST_UNCHECKED, 0); EnableWindow(hwndSeconds, FALSE); - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_HIDE_NOCLOCK); + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_HIDE_NOCLOCK); } } else { EnableWindow(hwndAdvancedButton, FALSE); - if(bShowClock) + if (bShowClock) { EnableWindow(hwndSeconds, TRUE); - if(bShowSeconds) - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_SECONDS); + if (bShowSeconds) + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_SECONDS); else - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_CLOCK); + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_CLOCK); } else { SendMessage(hwndSeconds, BM_SETCHECK, BST_UNCHECKED, 0); EnableWindow(hwndSeconds, FALSE); - lpTrayImageName = MAKEINTRESOURCE(IDB_SYSTRAYPROP_SHOW_NOCLOCK); + lpTrayImageName = MAKEINTRESOURCEW(IDB_SYSTRAYPROP_SHOW_NOCLOCK); } } - if(lpTrayImageName) + if (lpTrayImageName) { if (pPropInfo->hTrayBitmap) { DeleteObject(pPropInfo->hTrayBitmap); } - pPropInfo->hTrayBitmap = (HBITMAP)LoadImage(hExplorerInstance, + pPropInfo->hTrayBitmap = (HBITMAP)LoadImageW(hExplorerInstance, lpTrayImageName, IMAGE_BITMAP, 0, @@ -328,11 +328,11 @@ DLGPROC DlgProc, LPARAM lParam) { - ZeroMemory(psp, sizeof(PROPSHEETPAGE)); - psp->dwSize = sizeof(PROPSHEETPAGE); + ZeroMemory(psp, sizeof(*psp)); + psp->dwSize = sizeof(*psp); psp->dwFlags = PSP_DEFAULT; psp->hInstance = hExplorerInstance; - psp->pszTemplate = MAKEINTRESOURCE(idDlg); + psp->pszTemplate = MAKEINTRESOURCEW(idDlg); psp->lParam = lParam; psp->pfnDlgProc = DlgProc; } @@ -346,22 +346,22 @@ PROPSHEETPAGE psp[2]; WCHAR szCaption[256]; - if (!LoadString(hExplorerInstance, - IDS_TASKBAR_STARTMENU_PROP_CAPTION, - szCaption, - sizeof(szCaption) / sizeof(szCaption[0]))) + if (!LoadStringW(hExplorerInstance, + IDS_TASKBAR_STARTMENU_PROP_CAPTION, + szCaption, + _countof(szCaption))) { return; } - ZeroMemory(&psh, sizeof(PROPSHEETHEADER)); - psh.dwSize = sizeof(PROPSHEETHEADER); + ZeroMemory(&psh, sizeof(psh)); + psh.dwSize = sizeof(psh); psh.dwFlags = PSH_PROPSHEETPAGE | PSH_PROPTITLE; psh.hwndParent = hwndOwner; psh.hInstance = hExplorerInstance; psh.hIcon = NULL; psh.pszCaption = szCaption; - psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE); + psh.nPages = _countof(psp); psh.nStartPage = 0; psh.ppsp = psp; Modified: trunk/reactos/base/shell/explorer/traywnd.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/traywn…
============================================================================== --- trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/traywnd.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -55,7 +55,7 @@ static LONG TrayWndCount = 0; -static const WCHAR szTrayWndClass [] = TEXT("Shell_TrayWnd"); +static const WCHAR szTrayWndClass[] = L"Shell_TrayWnd"; /* * ITrayWindow @@ -153,8 +153,8 @@ IconSize.cy = GetSystemMetrics(SM_CYSMICON); /* Load the start button icon and create a image list for it */ - hIconStart = (HICON) LoadImage(hExplorerInstance, - MAKEINTRESOURCE(IDI_START), + hIconStart = (HICON) LoadImageW(hExplorerInstance, + MAKEINTRESOURCEW(IDI_START), IMAGE_ICON, IconSize.cx, IconSize.cy, @@ -200,10 +200,10 @@ /* NOTE: this is the backwards compatibility code that is used if the Common Controls Version 6.0 are not available! */ - if (!LoadString(hExplorerInstance, - IDS_START, - szStartCaption, - sizeof(szStartCaption) / sizeof(szStartCaption[0]))) + if (!LoadStringW(hExplorerInstance, + IDS_START, + szStartCaption, + _countof(szStartCaption))) { return NULL; } @@ -211,8 +211,8 @@ /* Load the start button icon */ SmallIcon.cx = GetSystemMetrics(SM_CXSMICON); SmallIcon.cy = GetSystemMetrics(SM_CYSMICON); - hIconStart = (HICON) LoadImage(hExplorerInstance, - MAKEINTRESOURCE(IDI_START), + hIconStart = (HICON) LoadImageW(hExplorerInstance, + MAKEINTRESOURCEW(IDI_START), IMAGE_ICON, SmallIcon.cx, SmallIcon.cy, @@ -230,7 +230,7 @@ Ret = GetTextExtentPoint32(hDC, szStartCaption, - _tcslen(szStartCaption), + wcslen(szStartCaption), &Size); SelectObject(hDC, hFontOld); @@ -304,7 +304,7 @@ { /* Get the system fonts, we use the caption font, always bold, though. */ ncm.cbSize = sizeof(ncm); - if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE)) + if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE)) { ncm.lfCaptionFont.lfWeight = FW_BOLD; m_Font = CreateFontIndirect(&ncm.lfCaptionFont); @@ -481,7 +481,7 @@ { NONCLIENTMETRICS ncm; ncm.cbSize = sizeof(ncm); - if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0)) + if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, 0)) { if (m_Font != NULL) DeleteObject(m_Font); @@ -509,8 +509,7 @@ HMONITOR hMon; mi.cbSize = sizeof(mi); - hMon = MonitorFromRect(pRect, - dwFlags); + hMon = MonitorFromRect(pRect, dwFlags); if (hMon != NULL && GetMonitorInfo(hMon, &mi)) @@ -568,8 +567,7 @@ MONITORINFO mi; mi.cbSize = sizeof(mi); - if (!GetMonitorInfo(hMonitor, - &mi)) + if (!GetMonitorInfo(hMonitor, &mi)) { /* Hm, the monitor is gone? Try to find a monitor where it could be located now */ @@ -726,8 +724,7 @@ MONITORINFO mi; mi.cbSize = sizeof(mi); - if (!GetMonitorInfo(hMon, - &mi)) + if (!GetMonitorInfo(hMon, &mi)) { hMon = NULL; goto GetPrimaryScreenRect; @@ -993,7 +990,7 @@ if (m_PreviousMonitor != m_Monitor) { GetScreenRect(m_PreviousMonitor, &rcWorkArea); - SystemParametersInfo(SPI_SETWORKAREA, + SystemParametersInfoW(SPI_SETWORKAREA, 1, &rcWorkArea, SPIF_SENDCHANGE); @@ -1025,7 +1022,7 @@ } } - SystemParametersInfo(SPI_SETWORKAREA, + SystemParametersInfoW(SPI_SETWORKAREA, 1, &rcWorkArea, SPIF_SENDCHANGE); @@ -1168,9 +1165,7 @@ /* Calculate all docking rectangles. We need to do this here so they're initialized and dragging the tray window to another position gives usable results */ - for (Pos = ABE_LEFT; - Pos <= ABE_BOTTOM; - Pos++) + for (Pos = ABE_LEFT; Pos <= ABE_BOTTOM; Pos++) { GetTrayRectFromScreenRect( Pos, @@ -1477,12 +1472,12 @@ InterlockedIncrement(&TrayWndCount); - if (!LoadString(hExplorerInstance, - IDS_START, - szStartCaption, - sizeof(szStartCaption) / sizeof(szStartCaption[0]))) - { - szStartCaption[0] = TEXT('\0'); + if (!LoadStringW(hExplorerInstance, + IDS_START, + szStartCaption, + _countof(szStartCaption))) + { + szStartCaption[0] = L'\0'; } if (m_CaptionFont == NULL) @@ -1492,7 +1487,7 @@ /* Get the system fonts, we use the caption font, always bold, though. */ ncm.cbSize = sizeof(ncm); - if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE)) + if (SystemParametersInfoW(SPI_GETNONCLIENTMETRICS, sizeof(ncm), &ncm, FALSE)) { if (m_CaptionFont == NULL) { @@ -1527,7 +1522,7 @@ RegLoadSettings(); /* Create and initialize the start menu */ - HBITMAP hbmBanner = LoadBitmap(hExplorerInstance, MAKEINTRESOURCE(IDB_STARTMENU)); + HBITMAP hbmBanner = LoadBitmapW(hExplorerInstance, MAKEINTRESOURCEW(IDB_STARTMENU)); m_StartMenuPopup = CreateStartMenu(this, &m_StartMenuBand, hbmBanner, 0); /* Load the tray band site */ @@ -2408,8 +2403,7 @@ SC_MINIMIZE, }; HMENU hSysMenu; - INT i; - UINT uId; + UINT i, uId; /* temporarily enable the system menu */ SetWindowStyle(m_hWnd, WS_SYSMENU, WS_SYSMENU); @@ -2418,7 +2412,7 @@ if (hSysMenu != NULL) { /* Disable all items that are not relevant */ - for (i = 0; i != sizeof(uidDisableItem) / sizeof(uidDisableItem[0]); i++) + for (i = 0; i < _countof(uidDisableItem); i++) { EnableMenuItem(hSysMenu, uidDisableItem[i], @@ -2646,10 +2640,10 @@ WCHAR szCommand[256]; WCHAR *pszParameters; - if (!LoadString(hExplorerInstance, - id, - szCommand, - sizeof(szCommand) / sizeof(szCommand[0]))) + if (!LoadStringW(hExplorerInstance, + id, + szCommand, + _countof(szCommand))) { return E_FAIL; } @@ -3012,7 +3006,7 @@ UINT idCmdLast, UINT uFlags) { - HMENU menubase = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCE(IDM_TRAYWND)); + HMENU menubase = LoadPopupMenu(hExplorerInstance, MAKEINTRESOURCEW(IDM_TRAYWND)); if (!menubase) return HRESULT_FROM_WIN32(GetLastError()); @@ -3084,7 +3078,7 @@ /* Setup and invoke the shell command */ cmici.cbSize = sizeof(cmici); cmici.hwnd = hWndOwner; - cmici.lpVerb = (LPCSTR) MAKEINTRESOURCE(uiCmdId - ID_SHELL_CMD_FIRST); + cmici.lpVerb = (LPCSTR) MAKEINTRESOURCEW(uiCmdId - ID_SHELL_CMD_FIRST); cmici.nShow = SW_NORMAL; pcm->InvokeCommand(&cmici); Modified: trunk/reactos/base/shell/explorer/util.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer/util.c…
============================================================================== --- trunk/reactos/base/shell/explorer/util.cpp [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer/util.cpp [iso-8859-1] Sat Jun 4 14:09:20 2016 @@ -13,7 +13,6 @@ HRESULT hRet; hRet = punk1->QueryInterface(IID_PPV_ARG(IUnknown, &punk1)); - if (!SUCCEEDED(hRet)) return hRet; @@ -32,21 +31,16 @@ HMENU LoadPopupMenu(IN HINSTANCE hInstance, - IN LPCTSTR lpMenuName) + IN LPCWSTR lpMenuName) { HMENU hMenu, hSubMenu = NULL; - hMenu = LoadMenu(hInstance, - lpMenuName); - + hMenu = LoadMenuW(hInstance, lpMenuName); if (hMenu != NULL) { - hSubMenu = GetSubMenu(hMenu, - 0); - if (hSubMenu != NULL && - !RemoveMenu(hMenu, - 0, - MF_BYPOSITION)) + hSubMenu = GetSubMenu(hMenu, 0); + if ((hSubMenu != NULL) && + !RemoveMenu(hMenu, 0, MF_BYPOSITION)) { hSubMenu = NULL; } @@ -62,15 +56,12 @@ IN UINT uItem, IN BOOL fByPosition) { - MENUITEMINFO mii; + MENUITEMINFOW mii; mii.cbSize = sizeof(mii); mii.fMask = MIIM_SUBMENU; - if (GetMenuItemInfo(hMenu, - uItem, - fByPosition, - &mii)) + if (GetMenuItemInfoW(hMenu, uItem, fByPosition, &mii)) { return mii.hSubMenu; } @@ -79,7 +70,7 @@ } BOOL -GetCurrentLoggedOnUserName(OUT LPTSTR szBuffer, +GetCurrentLoggedOnUserName(OUT LPWSTR szBuffer, IN DWORD dwBufferSize) { DWORD dwType; @@ -87,25 +78,24 @@ /* Query the user name from the registry */ dwSize = (dwBufferSize * sizeof(WCHAR)) - 1; - if (RegQueryValueEx(hkExplorer, - TEXT("Logon User Name"), - 0, - &dwType, - (LPBYTE) szBuffer, - &dwSize) == ERROR_SUCCESS && + if (RegQueryValueExW(hkExplorer, + L"Logon User Name", + 0, + &dwType, + (LPBYTE)szBuffer, + &dwSize) == ERROR_SUCCESS && (dwSize / sizeof(WCHAR)) > 1 && - szBuffer[0] != _T('\0')) - { - szBuffer[dwSize / sizeof(WCHAR)] = _T('\0'); + szBuffer[0] != L'\0') + { + szBuffer[dwSize / sizeof(WCHAR)] = L'\0'; return TRUE; } /* Fall back to GetUserName() */ dwSize = dwBufferSize; - if (!GetUserName(szBuffer, - &dwSize)) - { - szBuffer[0] = _T('\0'); + if (!GetUserNameW(szBuffer, &dwSize)) + { + szBuffer[0] = L'\0'; return FALSE; } @@ -116,38 +106,32 @@ FormatMenuString(IN HMENU hMenu, IN UINT uPosition, IN UINT uFlags, -...) + ...) { va_list vl; - MENUITEMINFO mii; + MENUITEMINFOW mii; WCHAR szBuf[128]; WCHAR szBufFmt[128]; /* Find the menu item and read the formatting string */ mii.cbSize = sizeof(mii); mii.fMask = MIIM_STRING; - mii.dwTypeData = (LPTSTR) szBufFmt; - mii.cch = sizeof(szBufFmt) / sizeof(szBufFmt[0]); - if (GetMenuItemInfo(hMenu, - uPosition, - uFlags, - &mii)) + mii.dwTypeData = szBufFmt; + mii.cch = _countof(szBufFmt); + if (GetMenuItemInfoW(hMenu, uPosition, uFlags, &mii)) { /* Format the string */ va_start(vl, uFlags); _vsntprintf(szBuf, - (sizeof(szBuf) / sizeof(szBuf[0])) - 1, + _countof(szBuf) - 1, szBufFmt, vl); va_end(vl); - szBuf[(sizeof(szBuf) / sizeof(szBuf[0])) - 1] = _T('\0'); + szBuf[_countof(szBuf) - 1] = L'\0'; /* Update the menu item */ - mii.dwTypeData = (LPTSTR) szBuf; - if (SetMenuItemInfo(hMenu, - uPosition, - uFlags, - &mii)) + mii.dwTypeData = szBuf; + if (SetMenuItemInfo(hMenu, uPosition, uFlags, &mii)) { return TRUE; } @@ -158,44 +142,41 @@ BOOL GetExplorerRegValueSet(IN HKEY hKey, - IN LPCTSTR lpSubKey, - IN LPCTSTR lpValue) + IN LPCWSTR lpSubKey, + IN LPCWSTR lpValue) { WCHAR szBuffer[MAX_PATH]; HKEY hkSubKey; DWORD dwType, dwSize; BOOL Ret = FALSE; - StringCbCopy(szBuffer, sizeof(szBuffer), - TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer")); - if (FAILED_UNEXPECTEDLY(StringCbCat(szBuffer, sizeof(szBuffer), - _T("\\")))) + StringCbCopyW(szBuffer, sizeof(szBuffer), + L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer"); + if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), L"\\"))) return FALSE; - if (FAILED_UNEXPECTEDLY(StringCbCat(szBuffer, sizeof(szBuffer), - lpSubKey))) + if (FAILED_UNEXPECTEDLY(StringCbCatW(szBuffer, sizeof(szBuffer), lpSubKey))) return FALSE; dwSize = sizeof(szBuffer); - if (RegOpenKeyEx(hKey, - szBuffer, - 0, - KEY_QUERY_VALUE, - &hkSubKey) == ERROR_SUCCESS) - { - ZeroMemory(szBuffer, - sizeof(szBuffer)); - - if (RegQueryValueEx(hkSubKey, - lpValue, - 0, - &dwType, - (LPBYTE) szBuffer, - &dwSize) == ERROR_SUCCESS) - { - if (dwType == REG_DWORD && dwSize == sizeof(DWORD)) - Ret = *((PDWORD) szBuffer) != 0; + if (RegOpenKeyExW(hKey, + szBuffer, + 0, + KEY_QUERY_VALUE, + &hkSubKey) == ERROR_SUCCESS) + { + ZeroMemory(szBuffer, sizeof(szBuffer)); + + if (RegQueryValueExW(hkSubKey, + lpValue, + 0, + &dwType, + (LPBYTE)szBuffer, + &dwSize) == ERROR_SUCCESS) + { + if ((dwType == REG_DWORD) && (dwSize == sizeof(DWORD))) + Ret = *((PDWORD)szBuffer) != 0; else if (dwSize > 0) - Ret = *((PCHAR) szBuffer) != 0; + Ret = *((PWCHAR)szBuffer) != 0; } RegCloseKey(hkSubKey); @@ -204,10 +185,10 @@ } BOOL -GetVersionInfoString(IN WCHAR *szFileName, -IN WCHAR *szVersionInfo, -OUT WCHAR *szBuffer, -IN UINT cbBufLen) +GetVersionInfoString(IN LPCWSTR szFileName, + IN LPCWSTR szVersionInfo, + OUT LPWSTR szBuffer, + IN UINT cbBufLen) { LPVOID lpData = NULL; WCHAR szSubBlock[128]; @@ -219,9 +200,9 @@ UINT cbTranslate; UINT cbLen; BOOL bRet = FALSE; - unsigned int i; - - dwLen = GetFileVersionInfoSize(szFileName, &dwHandle); + UINT i; + + dwLen = GetFileVersionInfoSizeW(szFileName, &dwHandle); if (dwLen > 0) { @@ -229,17 +210,17 @@ if (lpData != NULL) { - if (GetFileVersionInfo(szFileName, - 0, - dwLen, - lpData) != 0) + if (GetFileVersionInfoW(szFileName, + 0, + dwLen, + lpData) != 0) { UserLangId = GetUserDefaultLangID(); - VerQueryValue(lpData, - TEXT("\\VarFileInfo\\Translation"), - (LPVOID *) &lpTranslate, - &cbTranslate); + VerQueryValueW(lpData, + L"\\VarFileInfo\\Translation", + (LPVOID*)&lpTranslate, + &cbTranslate); for (i = 0; i < cbTranslate / sizeof(LANGCODEPAGE); i++) { @@ -247,22 +228,21 @@ match, use this version information (since this means that the version information and the users default language are the same). */ - if ((lpTranslate[i].wLanguage & 0xFF) == - (UserLangId & 0xFF)) + if (LOBYTE(lpTranslate[i].wLanguage) == LOBYTE(UserLangId)) { wnsprintf(szSubBlock, - sizeof(szSubBlock) / sizeof(szSubBlock[0]), - TEXT("\\StringFileInfo\\%04X%04X\\%s"), + _countof(szSubBlock), + L"\\StringFileInfo\\%04X%04X\\%s", lpTranslate[i].wLanguage, lpTranslate[i].wCodePage, szVersionInfo); - if (VerQueryValue(lpData, - szSubBlock, - (LPVOID *) &lpszLocalBuf, - &cbLen) != 0) + if (VerQueryValueW(lpData, + szSubBlock, + (LPVOID*)&lpszLocalBuf, + &cbLen) != 0) { - _tcsncpy(szBuffer, lpszLocalBuf, cbBufLen / sizeof(*szBuffer)); + wcsncpy(szBuffer, lpszLocalBuf, cbBufLen / sizeof(*szBuffer)); bRet = TRUE; break; @@ -270,6 +250,7 @@ } } } + HeapFree(hProcessHeap, 0, lpData); lpData = NULL; }
8 years, 7 months
1
0
0
0
[apriyadarshi] 71511: - Added all HwStor Initialization Required Functions - Driver loaded successfully - Added Debug stubs
by apriyadarshi@svn.reactos.org
Author: apriyadarshi Date: Sat Jun 4 12:52:38 2016 New Revision: 71511 URL:
http://svn.reactos.org/svn/reactos?rev=71511&view=rev
Log: - Added all HwStor Initialization Required Functions - Driver loaded successfully - Added Debug stubs Modified: branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.c branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.h Modified: branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.c URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/AHCI/drivers/storage/…
============================================================================== --- branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.c [iso-8859-1] (original) +++ branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.c [iso-8859-1] Sat Jun 4 12:52:38 2016 @@ -8,12 +8,12 @@ #include "storahci.h" BOOLEAN AhciAdapterReset( - __in PAHCI_ADAPTER_EXTENSION adapterExtension + __in PAHCI_ADAPTER_EXTENSION adapterExtension ); VOID AhciZeroMemory( - __in PCHAR buffer, - __in ULONG bufferSize + __in PCHAR buffer, + __in ULONG bufferSize ); /** @@ -28,7 +28,7 @@ * Return true if intialization was successful */ BOOLEAN AhciPortInitialize( - __in PAHCI_PORT_EXTENSION portExtension + __in PAHCI_PORT_EXTENSION portExtension ) { ULONG mappedLength; @@ -36,17 +36,23 @@ PAHCI_ADAPTER_EXTENSION adapterExtension; STOR_PHYSICAL_ADDRESS commandListPhysical, receivedFISPhysical; + StorPortDebugPrint(0, "AhciPortInitialize()\n"); + adapterExtension = portExtension->AdapterExtension; abar = adapterExtension->ABAR_Address; portExtension->Port = &abar->PortList[portExtension->PortNumber]; commandListPhysical = StorPortGetPhysicalAddress(adapterExtension, NULL, portExtension->CommandList, &mappedLength); - if (mappedLength == 0 || (commandListPhysical.LowPart % 1024) != 0) + if (mappedLength == 0 || (commandListPhysical.LowPart % 1024) != 0){ + StorPortDebugPrint(0, "\tcommandListPhysical mappedLength:%d\n", mappedLength); return FALSE; + } receivedFISPhysical = StorPortGetPhysicalAddress(adapterExtension, NULL, portExtension->ReceivedFIS, &mappedLength); - if (mappedLength == 0 || (commandListPhysical.LowPart % 256) != 0) + if (mappedLength == 0 || (receivedFISPhysical.LowPart % 256) != 0){ + StorPortDebugPrint(0, "\treceivedFISPhysical mappedLength:%d\n", mappedLength); return FALSE; + } // 10.1.2 For each implemented port, system software shall allocate memory for and program: // ï· PxCLB and PxCLBU (if CAP.S64A is set to â1â) @@ -71,13 +77,15 @@ * return TRUE if allocation was successful */ BOOLEAN AhciAllocateResourceForAdapter( - __in PAHCI_ADAPTER_EXTENSION adapterExtension, - __in PPORT_CONFIGURATION_INFORMATION ConfigInfo + __in PAHCI_ADAPTER_EXTENSION adapterExtension, + __in PPORT_CONFIGURATION_INFORMATION ConfigInfo ) { PVOID portsExtension = NULL; PCHAR nonCachedExtension; ULONG portCount, portImplemented, status, index, NCS, AlignedNCS, nonCachedExtensionSize, currentCount; + + StorPortDebugPrint(0, "AhciAllocateResourceForAdapter()\n"); // 3.1.1 NCS = CAP[12:08] -> Align NCS = (adapterExtension->CAP & 0xF00) >> 8; @@ -99,8 +107,10 @@ nonCachedExtensionSize *= portCount; adapterExtension->NonCachedExtension = StorPortGetUncachedExtension(adapterExtension, ConfigInfo, nonCachedExtensionSize); - if (adapterExtension->NonCachedExtension == NULL) + if (adapterExtension->NonCachedExtension == NULL) { + StorPortDebugPrint(0, "\tadapterExtension->NonCachedExtension == NULL\n"); return FALSE; + } nonCachedExtension = (PCHAR)adapterExtension->NonCachedExtension; @@ -114,8 +124,10 @@ AHCI_POOL_TAG, (PVOID*)&portsExtension); - if (status != STOR_STATUS_SUCCESS) + if (status != STOR_STATUS_SUCCESS){ + StorPortDebugPrint(0, "\tstatus != STOR_STATUS_SUCCESS\n"); return FALSE; + } AhciZeroMemory((PCHAR)portsExtension, portCount * sizeof(AHCI_PORT_EXTENSION)); @@ -139,7 +151,113 @@ }// -- AhciAllocateResourceForAdapter(); /** - * @name AhciFindAdapter + * @name AhciHwInitialize + * @implemented + * + * initializes the HBA and finds all devices that are of interest to the miniport driver. + * + * @param adapterExtension + * + * @return + * return TRUE if intialization was successful + */ +BOOLEAN AhciHwInitialize( + __in PVOID AdapterExtension +) +{ + PAHCI_ADAPTER_EXTENSION adapterExtension; + + StorPortDebugPrint(0, "AhciHwInitialize()\n"); + + adapterExtension = (PAHCI_ADAPTER_EXTENSION)AdapterExtension; + + return TRUE; +}// -- AhciHwInitialize(); + +/** + * @name AhciHwInterrupt + * @implemented + * + * The Storport driver calls the HwStorInterrupt routine after the HBA generates an interrupt request. + * + * @param adapterExtension + * + * @return + * return TRUE Indicates that an interrupt was pending on adapter. + * return FALSE Indicates the interrupt was not ours. + */ +BOOLEAN AhciHwInterrupt( + __in PVOID AdapterExtension +) +{ + PAHCI_ADAPTER_EXTENSION adapterExtension; + + StorPortDebugPrint(0, "AhciHwInterrupt()\n"); + + adapterExtension = (PAHCI_ADAPTER_EXTENSION)AdapterExtension; + + return TRUE; +}// -- AhciHwInterrupt(); + +/** + * @name AhciHwStartIo + * @implemented + * + * The Storport driver calls the HwStorStartIo routine one time for each incoming I/O request. + * + * @param adapterExtension + * @param Srb + * + * @return + * return TRUE if the request was accepted + * return FALSE if the request must be submitted later + */ +BOOLEAN AhciHwStartIo( + __in PVOID AdapterExtension, + __in PSCSI_REQUEST_BLOCK Srb + +) +{ + UCHAR function; + PAHCI_ADAPTER_EXTENSION adapterExtension; + + StorPortDebugPrint(0, "AhciHwStartIo()\n"); + + adapterExtension = (PAHCI_ADAPTER_EXTENSION)AdapterExtension; + function = Srb->Function; + + return TRUE; +}// -- AhciHwStartIo(); + +/** + * @name AhciHwResetBus + * @implemented + * + * The HwStorResetBus routine is called by the port driver to clear error conditions. + * + * @param adapterExtension + * @param PathId + * + * @return + * return TRUE if bus was successfully reset + */ +BOOLEAN AhciHwResetBus( + __in PVOID AdapterExtension, + __in ULONG PathId + +) +{ + PAHCI_ADAPTER_EXTENSION adapterExtension; + + StorPortDebugPrint(0, "AhciHwResetBus()\n"); + + adapterExtension = (PAHCI_ADAPTER_EXTENSION)AdapterExtension; + + return TRUE; +}// -- AhciHwResetBus(); + +/** + * @name AhciHwFindAdapter * @implemented * * The HwStorFindAdapter routine uses the supplied configuration to determine whether a specific @@ -170,13 +288,13 @@ * * @remarks Called by Storport. */ -ULONG AhciFindAdapter( - IN PVOID DeviceExtension, - __in PVOID HwContext, - __in PVOID BusInformation, - __in IN PVOID ArgumentString, - __inout PPORT_CONFIGURATION_INFORMATION ConfigInfo, - __in PBOOLEAN Reserved3 +ULONG AhciHwFindAdapter( + __in PVOID AdapterExtension, + __in PVOID HwContext, + __in PVOID BusInformation, + __in PVOID ArgumentString, + __inout PPORT_CONFIGURATION_INFORMATION ConfigInfo, + __in PBOOLEAN Reserved3 ) { ULONG ghc; @@ -189,7 +307,9 @@ PPCI_COMMON_CONFIG pciConfigData; PAHCI_ADAPTER_EXTENSION adapterExtension; - adapterExtension = (PAHCI_ADAPTER_EXTENSION)DeviceExtension; + StorPortDebugPrint(0, "AhciHwFindAdapter()\n"); + + adapterExtension = (PAHCI_ADAPTER_EXTENSION)AdapterExtension; adapterExtension->SlotNumber = ConfigInfo->SlotNumber; adapterExtension->SystemIoBusNumber = ConfigInfo->SystemIoBusNumber; @@ -202,8 +322,10 @@ (PVOID)pci_cfg_buf, (ULONG)0x30); - if (pci_cfg_len != 0x30) + if (pci_cfg_len != 0x30){ + StorPortDebugPrint(0, "\tpci_cfg_len != 0x30 :: %d", pci_cfg_len); return SP_RETURN_ERROR;//Not a valid device at the given bus number + } pciConfigData = (PPCI_COMMON_CONFIG)pci_cfg_buf; adapterExtension->VendorID = pciConfigData->VendorID; @@ -211,6 +333,8 @@ adapterExtension->RevisionID = pciConfigData->RevisionID; // The last PCI base address register (BAR[5], header offset 0x24) points to the AHCI base memory, itâs called ABAR (AHCI Base Memory Register). adapterExtension->AhciBaseAddress = pciConfigData->u.type0.BaseAddresses[5] & (0xFFFFFFF0); + + StorPortDebugPrint(0, "\tVendorID:%d DeviceID:%d RevisionID:%d\n", adapterExtension->VendorID, adapterExtension->DeviceID, adapterExtension->RevisionID); // 2.1.11 abar = NULL; @@ -232,8 +356,10 @@ } } - if (abar == NULL) + if (abar == NULL){ + StorPortDebugPrint(0, "\tabar == NULL\n"); return SP_RETURN_ERROR; // corrupted information supplied + } adapterExtension->ABAR_Address = abar; adapterExtension->CAP = StorPortReadRegisterUlong(adapterExtension, &abar->CAP); @@ -248,9 +374,11 @@ if ((ghc & (0x1<<31)) == 1)//Hmm, controller was already in power state { // reset controller to have it in know state - DebugPrint("AhciFindAdapter -> AE Already set, Reset()\n"); - if (!AhciAdapterReset(adapterExtension)) + StorPortDebugPrint(0, "\tAE Already set, Reset()\n"); + if (!AhciAdapterReset(adapterExtension)){ + StorPortDebugPrint(0, "\tReset Failed!\n"); return SP_RETURN_ERROR;// reset failed + } } ghc = 0x1<<31;// only AE=1 @@ -259,8 +387,10 @@ adapterExtension->IS = abar->IS; adapterExtension->PortImplemented = StorPortReadRegisterUlong(adapterExtension, &abar->PI); - if (adapterExtension->PortImplemented == 0) + if (adapterExtension->PortImplemented == 0){ + StorPortDebugPrint(0, "\tadapterExtension->PortImplemented == 0\n"); return SP_RETURN_ERROR; + } ConfigInfo->MaximumTransferLength = 128 * 1024;//128 KB ConfigInfo->NumberOfPhysicalBreaks = 0x21; @@ -272,8 +402,10 @@ ConfigInfo->ScatterGather = TRUE; // allocate necessary resource for each port - if (!AhciAllocateResourceForAdapter(adapterExtension, ConfigInfo)) + if (!AhciAllocateResourceForAdapter(adapterExtension, ConfigInfo)){ + StorPortDebugPrint(0, "\tAhciAllocateResourceForAdapter() == FALSE\n"); return SP_RETURN_ERROR; + } for (index = 0; index < 32; index++) { @@ -286,7 +418,7 @@ StorPortWriteRegisterUlong(adapterExtension, &abar->GHC, ghc); return SP_RETURN_FOUND; -}// -- AhciFindAdapter(); +}// -- AhciHwFindAdapter(); /** * @name DriverEntry @@ -301,14 +433,14 @@ * NT_STATUS in case of driver loaded successfully. */ ULONG DriverEntry( - IN PVOID DriverObject, - IN PVOID RegistryPath + __in PVOID DriverObject, + __in PVOID RegistryPath ) { HW_INITIALIZATION_DATA hwInitializationData; ULONG i, status; - DebugPrint("Storahci -> DriverEntry()\n"); + StorPortDebugPrint(0, "Storahci Loaded 10023\n"); // initialize the hardware data structure AhciZeroMemory((PCHAR)&hwInitializationData, sizeof(HW_INITIALIZATION_DATA)); @@ -317,7 +449,11 @@ hwInitializationData.HwInitializationDataSize = sizeof(HW_INITIALIZATION_DATA); // identity required miniport entry point routines - hwInitializationData.HwFindAdapter = AhciFindAdapter; + hwInitializationData.HwStartIo = AhciHwStartIo; + hwInitializationData.HwResetBus = AhciHwResetBus; + hwInitializationData.HwInterrupt = AhciHwInterrupt; + hwInitializationData.HwInitialize = AhciHwInitialize; + hwInitializationData.HwFindAdapter = AhciHwFindAdapter; // adapter specific information hwInitializationData.NeedPhysicalAddresses = TRUE; @@ -339,7 +475,7 @@ RegistryPath, &hwInitializationData, NULL); - + StorPortDebugPrint(0, "\tstatus:%d\n", status); return status; }// -- DriverEntry(); @@ -363,29 +499,32 @@ * TRUE in case AHCI Controller RESTARTED successfully. i.e GHC.HR == 0 */ BOOLEAN AhciAdapterReset( - PAHCI_ADAPTER_EXTENSION adapterExtension -) -{ - ULONG ghc, ticks; - PAHCI_MEMORY_REGISTERS abar = NULL; - - abar = adapterExtension->ABAR_Address; - - if (abar == NULL) // basic sanity + __in PAHCI_ADAPTER_EXTENSION adapterExtension +) +{ + ULONG ghc, ticks; + PAHCI_MEMORY_REGISTERS abar = NULL; + + StorPortDebugPrint(0, "AhciAdapterReset()\n"); + + abar = adapterExtension->ABAR_Address; + if (abar == NULL) // basic sanity return FALSE; - // HR -- Very first bit (lowest significant) - ghc = 1; - StorPortWriteRegisterUlong(adapterExtension, &abar->GHC, ghc); - - for (ticks = 0; (ticks < 50) && - (StorPortReadRegisterUlong(adapterExtension, &abar->GHC) == 1); - StorPortStallExecution(20000), ticks++); - - if (ticks == 50)//1 second + // HR -- Very first bit (lowest significant) + ghc = 1; + StorPortWriteRegisterUlong(adapterExtension, &abar->GHC, ghc); + + for (ticks = 0; (ticks < 50) && + (StorPortReadRegisterUlong(adapterExtension, &abar->GHC) == 1); + StorPortStallExecution(20000), ticks++); + + if (ticks == 50) { //1 second + StorPortDebugPrint(0, "\tDevice Timeout\n"); return FALSE; - - return TRUE; + } + + return TRUE; }// -- AhciAdapterReset(); /** @@ -397,8 +536,8 @@ * @param buffer */ VOID AhciZeroMemory( - __in PCHAR buffer, - __in ULONG bufferSize + __in PCHAR buffer, + __in ULONG bufferSize ) { ULONG i; Modified: branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.h URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/AHCI/drivers/storage/…
============================================================================== --- branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.h [iso-8859-1] (original) +++ branches/GSoC_2016/AHCI/drivers/storage/storahci/storahci.h [iso-8859-1] Sat Jun 4 12:52:38 2016 @@ -210,5 +210,5 @@ typedef struct _AHCI_SRB_EXTENSION { - ULONG AdapterNumber; + ULONG Reserved[4]; } AHCI_SRB_EXTENSION;
8 years, 7 months
1
0
0
0
[gadamopoulos] 71510: [BROWSEUI] - CExplorerBand: Navigate to the selected item when the selection changes. - Part of the work submitted by Sylvain Deverre. CORE-10838
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Fri Jun 3 21:25:34 2016 New Revision: 71510 URL:
http://svn.reactos.org/svn/reactos?rev=71510&view=rev
Log: [BROWSEUI] - CExplorerBand: Navigate to the selected item when the selection changes. - Part of the work submitted by Sylvain Deverre. CORE-10838 Modified: trunk/reactos/dll/win32/browseui/explorerband.cpp trunk/reactos/dll/win32/browseui/explorerband.h Modified: trunk/reactos/dll/win32/browseui/explorerband.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/explore…
============================================================================== --- trunk/reactos/dll/win32/browseui/explorerband.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/explorerband.cpp [iso-8859-1] Fri Jun 3 21:25:34 2016 @@ -142,6 +142,22 @@ return reinterpret_cast<NodeInfo*>(tvItem.lParam); } +HRESULT CExplorerBand::UpdateBrowser(LPITEMIDLIST pidlGoto) +{ + CComPtr<IShellBrowser> pBrowserService; + HRESULT hr; + + hr = IUnknown_QueryService(pSite, SID_STopLevelBrowser, IID_PPV_ARG(IShellBrowser, &pBrowserService)); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + hr = pBrowserService->BrowseObject(pidlGoto, SBSP_SAMEBROWSER | SBSP_ABSOLUTE); + if (FAILED_UNEXPECTEDLY(hr)) + return hr; + + return hr; +} + // *** notifications handling *** BOOL CExplorerBand::OnTreeItemExpanding(LPNMTREEVIEW pnmtv) { @@ -177,6 +193,16 @@ return FALSE; } +void CExplorerBand::OnSelectionChanged(LPNMTREEVIEW pnmtv) +{ + NodeInfo* pNodeInfo = GetNodeInfo(pnmtv->itemNew.hItem); + + UpdateBrowser(pNodeInfo->absolutePidl); + SetFocus(); + // Expand the node + //TreeView_Expand(m_hWnd, pnmtv->itemNew.hItem, TVE_EXPAND); +} + // *** Helper functions *** HTREEITEM CExplorerBand::InsertItem(HTREEITEM hParent, IShellFolder *psfParent, LPITEMIDLIST pElt, LPITEMIDLIST pEltRelative, BOOL bSort) { @@ -558,6 +584,9 @@ case TVN_ITEMEXPANDING: *theResult = OnTreeItemExpanding((LPNMTREEVIEW)lParam); break; + case TVN_SELCHANGED: + OnSelectionChanged((LPNMTREEVIEW)lParam); + break; default: break; } Modified: trunk/reactos/dll/win32/browseui/explorerband.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/explore…
============================================================================== --- trunk/reactos/dll/win32/browseui/explorerband.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/explorerband.h [iso-8859-1] Fri Jun 3 21:25:34 2016 @@ -69,9 +69,11 @@ void DestroyExplorerBand(); BOOL OnTreeItemExpanding(LPNMTREEVIEW pnmtv); + void OnSelectionChanged(LPNMTREEVIEW pnmtv); // *** Helper functions *** NodeInfo* GetNodeInfo(HTREEITEM hItem); + HRESULT UpdateBrowser(LPITEMIDLIST pidlGoto); HTREEITEM InsertItem(HTREEITEM hParent, IShellFolder *psfParent, LPITEMIDLIST pElt, LPITEMIDLIST pEltRelative, BOOL bSort); BOOL InsertSubitems(HTREEITEM hItem, NodeInfo *pNodeInfo);
8 years, 7 months
1
0
0
0
[gadamopoulos] 71509: [SHELL32] - HCR_GetClassName is not supposed to be specific for CLSID_MyDocuments CORE-11363
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Fri Jun 3 21:00:59 2016 New Revision: 71509 URL:
http://svn.reactos.org/svn/reactos?rev=71509&view=rev
Log: [SHELL32] - HCR_GetClassName is not supposed to be specific for CLSID_MyDocuments CORE-11363 Modified: trunk/reactos/dll/win32/shell32/shlfolder.cpp Modified: trunk/reactos/dll/win32/shell32/shlfolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shlfolde…
============================================================================== --- trunk/reactos/dll/win32/shell32/shlfolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shlfolder.cpp [iso-8859-1] Fri Jun 3 21:00:59 2016 @@ -380,7 +380,7 @@ { BOOL bRet; WCHAR wstrName[MAX_PATH+1]; - bRet = HCR_GetClassNameW(CLSID_MyDocuments, wstrName, MAX_PATH); + bRet = HCR_GetClassNameW(riid, wstrName, MAX_PATH); if (!bRet) return E_FAIL;
8 years, 7 months
1
0
0
0
[gadamopoulos] 71508: [BROWSEUI] - CExplorerBand: Implement populating the treeview. You can navigate the shell namespace but clicking on an item doesn't do anything yet. - Part of the work submitt...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Fri Jun 3 19:35:33 2016 New Revision: 71508 URL:
http://svn.reactos.org/svn/reactos?rev=71508&view=rev
Log: [BROWSEUI] - CExplorerBand: Implement populating the treeview. You can navigate the shell namespace but clicking on an item doesn't do anything yet. - Part of the work submitted by Sylvain Deverre. CExplorerBand::InsertItem was rewritten by me to be efficient. CORE-10838 Modified: trunk/reactos/dll/win32/browseui/explorerband.cpp trunk/reactos/dll/win32/browseui/explorerband.h Modified: trunk/reactos/dll/win32/browseui/explorerband.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/explore…
============================================================================== --- trunk/reactos/dll/win32/browseui/explorerband.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/explorerband.cpp [iso-8859-1] Fri Jun 3 19:35:33 2016 @@ -1,4 +1,26 @@ +/* + * ReactOS Explorer + * + * Copyright 2016 Sylvain Deverre <deverre dot sylv at gmail dot com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + #include "precomp.h" +#include <commoncontrols.h> +#include <undocshell.h> #if 1 #undef UNIMPLEMENTED @@ -23,12 +45,267 @@ void CExplorerBand::InitializeExplorerBand() { - + // Init the treeview here + HRESULT hr; + LPITEMIDLIST pidl; + CComPtr<IWebBrowser2> browserService; + SHChangeNotifyEntry shcne; + + hr = SHGetDesktopFolder(&pDesktop); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + hr = SHGetFolderLocation(m_hWnd, CSIDL_DESKTOP, NULL, 0, &pidl); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + IImageList * piml; + hr = SHGetImageList(SHIL_SMALL, IID_PPV_ARG(IImageList, &piml)); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + TreeView_SetImageList(m_hWnd, (HIMAGELIST)piml, TVSIL_NORMAL); + + // Insert the root node + HTREEITEM hItem = InsertItem(0, pDesktop, pidl, pidl, FALSE); + if (!hItem) + { + ERR("Failed to create root item\n"); + return; + } + + NodeInfo* pNodeInfo = GetNodeInfo(hItem); + + // Insert child nodes + InsertSubitems(hItem, pNodeInfo); + TreeView_Expand(m_hWnd, hItem, TVE_EXPAND); + + // Navigate to current folder position + //NavigateToCurrentFolder(); + + // Register shell notification + shcne.pidl = pidl; + shcne.fRecursive = TRUE; + shellRegID = SHChangeNotifyRegister( + m_hWnd, + SHCNRF_ShellLevel | SHCNRF_InterruptLevel | SHCNRF_RecursiveInterrupt, + SHCNE_DISKEVENTS | SHCNE_RENAMEFOLDER | SHCNE_RMDIR | SHCNE_MKDIR, + WM_USER_SHELLEVENT, + 1, + &shcne); + if (!shellRegID) + { + ERR("Something went wrong, error %08x\n", GetLastError()); + } + // Register browser connection endpoint + hr = IUnknown_QueryService(pSite, SID_SWebBrowserApp, IID_PPV_ARG(IWebBrowser2, &browserService)); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + hr = AtlAdvise(browserService, dynamic_cast<IDispatch*>(this), DIID_DWebBrowserEvents, &adviseCookie); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + ILFree(pidl); } void CExplorerBand::DestroyExplorerBand() { - + HRESULT hr; + CComPtr <IWebBrowser2> browserService; + + TRACE("Cleaning up explorer band ...\n"); + + hr = IUnknown_QueryService(pSite, SID_SWebBrowserApp, IID_PPV_ARG(IWebBrowser2, &browserService)); + if (FAILED_UNEXPECTEDLY(hr)) + return; + + hr = AtlUnadvise(browserService, DIID_DWebBrowserEvents, adviseCookie); + /* Remove all items of the treeview */ + RevokeDragDrop(m_hWnd); + TreeView_DeleteAllItems(m_hWnd); + pDesktop = NULL; + hRoot = NULL; + TRACE("Cleanup done !\n"); +} + +CExplorerBand::NodeInfo* CExplorerBand::GetNodeInfo(HTREEITEM hItem) +{ + TVITEM tvItem; + + tvItem.mask = TVIF_PARAM; + tvItem.hItem = hItem; + + if (!TreeView_GetItem(m_hWnd, &tvItem)) + return 0; + + return reinterpret_cast<NodeInfo*>(tvItem.lParam); +} + +// *** notifications handling *** +BOOL CExplorerBand::OnTreeItemExpanding(LPNMTREEVIEW pnmtv) +{ + NodeInfo *pNodeInfo; + + if (pnmtv->action == TVE_COLLAPSE) { + if (pnmtv->itemNew.hItem == hRoot) + { + // Prenvent root from collapsing + pnmtv->itemNew.mask |= TVIF_STATE; + pnmtv->itemNew.stateMask |= TVIS_EXPANDED; + pnmtv->itemNew.state &= ~TVIS_EXPANDED; + pnmtv->action = TVE_EXPAND; + return TRUE; + } + } + if (pnmtv->action == TVE_EXPAND) { + // Grab our directory PIDL + pNodeInfo = GetNodeInfo(pnmtv->itemNew.hItem); + // We have it, let's try + if (pNodeInfo && !pNodeInfo->expanded) + if (!InsertSubitems(pnmtv->itemNew.hItem, pNodeInfo)) { + // remove subitem "+" since we failed to add subitems + TV_ITEM tvItem; + + tvItem.mask = TVIF_CHILDREN; + tvItem.hItem = pnmtv->itemNew.hItem; + tvItem.cChildren = 0; + + TreeView_SetItem(m_hWnd, &tvItem); + } + } + return FALSE; +} + +// *** Helper functions *** +HTREEITEM CExplorerBand::InsertItem(HTREEITEM hParent, IShellFolder *psfParent, LPITEMIDLIST pElt, LPITEMIDLIST pEltRelative, BOOL bSort) +{ + TV_INSERTSTRUCT tvInsert; + HTREEITEM htiCreated; + + /* Get the attributes of the node */ + SFGAOF attrs = SFGAO_STREAM | SFGAO_HASSUBFOLDER; + HRESULT hr = psfParent->GetAttributesOf(1, &pEltRelative, &attrs); + if (FAILED_UNEXPECTEDLY(hr)) + return NULL; + + /* Ignore streams */ + if ((attrs & SFGAO_STREAM)) + { + TRACE("Ignoring stream\n"); + return NULL; + } + + /* Get the name of the node */ + WCHAR wszDisplayName[MAX_PATH]; + if (!ILGetDisplayNameEx(psfParent, pEltRelative, wszDisplayName, ILGDN_INFOLDER)) + { + ERR("Failed to get node name\n"); + return NULL; + } + + /* Get the icon of the node */ + INT iIcon = SHMapPIDLToSystemImageListIndex(psfParent, pEltRelative, NULL); + + NodeInfo* pChildInfo = new NodeInfo; + if (!pChildInfo) + { + ERR("Failed to allocate NodeInfo\n"); + return FALSE; + } + + // Store our node info + pChildInfo->absolutePidl = ILClone(pElt); + pChildInfo->relativePidl = ILClone(pEltRelative); + pChildInfo->expanded = FALSE; + + // Set up our treeview template + tvInsert.hParent = hParent; + tvInsert.hInsertAfter = TVI_LAST; + tvInsert.item.mask = TVIF_PARAM | TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | TVIF_CHILDREN; + tvInsert.item.cchTextMax = MAX_PATH; + tvInsert.item.pszText = wszDisplayName; + tvInsert.item.iImage = tvInsert.item.iSelectedImage = iIcon; + tvInsert.item.cChildren = (attrs & SFGAO_HASSUBFOLDER) ? 1 : 0; + tvInsert.item.lParam = (LPARAM)pChildInfo; + + htiCreated = TreeView_InsertItem(m_hWnd, &tvInsert); + + return htiCreated; +} + +BOOL CExplorerBand::InsertSubitems(HTREEITEM hItem, NodeInfo *pNodeInfo) +{ + CComPtr<IEnumIDList> pEnumIDList; + LPITEMIDLIST pidlSub; + LPITEMIDLIST entry; + SHCONTF EnumFlags; + HRESULT hr; + ULONG fetched; + ULONG uItemCount; + CComPtr<IShellFolder> pFolder; + + entry = pNodeInfo->absolutePidl; + fetched = 1; + uItemCount = 0; + EnumFlags = SHCONTF_FOLDERS; + + hr = SHGetFolderLocation(m_hWnd, CSIDL_DESKTOP, NULL, 0, &pidlSub); + if (!SUCCEEDED(hr)) + { + ERR("Can't get desktop PIDL !\n"); + return FALSE; + } + + if (!pDesktop->CompareIDs(NULL, pidlSub, entry)) + { + // We are the desktop, so use pDesktop as pFolder + pFolder = pDesktop; + } + else + { + // Get an IShellFolder of our pidl + hr = pDesktop->BindToObject(entry, NULL, IID_PPV_ARG(IShellFolder, &pFolder)); + if (!SUCCEEDED(hr)) + { + ILFree(pidlSub); + ERR("Can't bind folder to desktop !\n"); + return FALSE; + } + } + ILFree(pidlSub); + + // TODO: handle hidden folders according to settings ! + EnumFlags |= SHCONTF_INCLUDEHIDDEN; + + // Enum through objects + hr = pFolder->EnumObjects(NULL,EnumFlags,&pEnumIDList); + + // avoid broken IShellFolder implementations that return null pointer with success + if (!SUCCEEDED(hr) || !pEnumIDList) + { + ERR("Can't enum the folder !\n"); + return FALSE; + } + + /* Don't redraw while we add stuff into the tree */ + SendMessage(WM_SETREDRAW, FALSE, 0); + while(SUCCEEDED(pEnumIDList->Next(1, &pidlSub, &fetched)) && pidlSub && fetched) + { + LPITEMIDLIST pidlSubComplete; + pidlSubComplete = ILCombine(entry, pidlSub); + + if (InsertItem(hItem, pFolder, pidlSubComplete, pidlSub, FALSE)) + uItemCount++; + ILFree(pidlSubComplete); + ILFree(pidlSub); + } + pNodeInfo->expanded = TRUE; + + /* Now we can redraw */ + SendMessage(WM_SETREDRAW, TRUE, 0); + + return (uItemCount > 0) ? TRUE : FALSE; } // *** IOleWindow methods *** @@ -273,8 +550,19 @@ // *** IWinEventHandler methods *** HRESULT STDMETHODCALLTYPE CExplorerBand::OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult) { - UNIMPLEMENTED; - return E_NOTIMPL; + if (uMsg == WM_NOTIFY) + { + NMHDR *pNotifyHeader = (NMHDR*)lParam; + switch (pNotifyHeader->code) + { + case TVN_ITEMEXPANDING: + *theResult = OnTreeItemExpanding((LPNMTREEVIEW)lParam); + break; + default: + break; + } + } + return S_OK; } HRESULT STDMETHODCALLTYPE CExplorerBand::IsWindowOwner(HWND hWnd) Modified: trunk/reactos/dll/win32/browseui/explorerband.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/browseui/explore…
============================================================================== --- trunk/reactos/dll/win32/browseui/explorerband.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/browseui/explorerband.h [iso-8859-1] Fri Jun 3 19:35:33 2016 @@ -1,3 +1,23 @@ +/* + * ReactOS Explorer + * + * Copyright 2016 Sylvain Deverre <deverre dot sylv at gmail dot com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + #pragma once #define WM_USER_SHELLEVENT WM_USER+88 @@ -32,14 +52,28 @@ // *** BaseBarSite information *** CComPtr<IUnknown> pSite; - + CComPtr<IShellFolder> pDesktop; + // *** tree explorer band stuff *** BOOL fVisible; BOOL bFocused; DWORD dwBandID; - + HIMAGELIST hImageList; + HTREEITEM hRoot; + + // *** notification cookies *** + DWORD adviseCookie; + ULONG shellRegID; + void InitializeExplorerBand(); void DestroyExplorerBand(); + + BOOL OnTreeItemExpanding(LPNMTREEVIEW pnmtv); + + // *** Helper functions *** + NodeInfo* GetNodeInfo(HTREEITEM hItem); + HTREEITEM InsertItem(HTREEITEM hParent, IShellFolder *psfParent, LPITEMIDLIST pElt, LPITEMIDLIST pEltRelative, BOOL bSort); + BOOL InsertSubitems(HTREEITEM hItem, NodeInfo *pNodeInfo); public: CExplorerBand();
8 years, 7 months
1
0
0
0
← Newer
1
...
17
18
19
20
21
22
23
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
Results per page:
10
25
50
100
200