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
September 2022
----- 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
21 participants
142 discussions
Start a n
N
ew thread
[reactos] 01/01: [BCRYPT_WINETEST] Wine Sync to 8d8936cbb6fea3cac862e059e814527f5361f48b (#208)
by Serge Gautherie
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=66d50537f464dbc76bc05…
commit 66d50537f464dbc76bc05b7aa73d8846aef194be Author: Serge Gautherie <32623169+SergeGautherie(a)users.noreply.github.com> AuthorDate: Sun Sep 25 20:35:23 2022 +0200 Commit: GitHub <noreply(a)github.com> CommitDate: Sun Sep 25 20:35:23 2022 +0200 [BCRYPT_WINETEST] Wine Sync to 8d8936cbb6fea3cac862e059e814527f5361f48b (#208) Import, as is, the next 2 commits from Wine: 8d8936cbb6fea3cac862e059e814527f5361f48b 2016-12-06 Bruno Jesus bcrypt/tests: Normalize all tests to use function pointers. b5e5be13d20adff5d7b784e71c7a48fb95fde2c8 2016-12-06 Bruno Jesus bcrypt/tests: Workaround RegGetValueW not being present in XP. These let this test load on WS03 and even WXP, too. Notice though, that even after the change, the test does not manage to load bcrypt.dll yet on Windows XPSP3 yet, even when copying it next the test. No functional changes. ROSTESTS-296 --- media/doc/WINESYNC.txt | 2 +- modules/rostests/winetests/bcrypt/CMakeLists.txt | 2 +- modules/rostests/winetests/bcrypt/bcrypt.c | 277 ++++++++++++----------- 3 files changed, 153 insertions(+), 128 deletions(-) diff --git a/media/doc/WINESYNC.txt b/media/doc/WINESYNC.txt index 07549edfc64..105e3ef18b1 100644 --- a/media/doc/WINESYNC.txt +++ b/media/doc/WINESYNC.txt @@ -51,7 +51,7 @@ dll/win32/atl # Synced to WineStaging-4.18 dll/win32/atl80 # Synced to WineStaging-4.18 dll/win32/atl100 # Synced to WineStaging-3.3 dll/win32/avifil32 # Synced to WineStaging-4.18 -dll/win32/bcrypt # Synced to WineStaging-1.9.23 +dll/win32/bcrypt # Synced to WineStaging-1.9.23 (+ winetest synced to 8d8936cbb6fea3cac862e059e814527f5361f48b, a.k.a 20161206-BJ) dll/win32/browseui # Out of sync dll/win32/cabinet # Synced to WineStaging-4.18 dll/win32/clusapi # Synced to WineStaging-3.3 diff --git a/modules/rostests/winetests/bcrypt/CMakeLists.txt b/modules/rostests/winetests/bcrypt/CMakeLists.txt index 2daa27cdb16..5a3d2e17aa2 100644 --- a/modules/rostests/winetests/bcrypt/CMakeLists.txt +++ b/modules/rostests/winetests/bcrypt/CMakeLists.txt @@ -2,5 +2,5 @@ remove_definitions(-D_WIN32_WINNT=0x502) add_executable(bcrypt_winetest bcrypt.c testlist.c) set_module_type(bcrypt_winetest win32cui) -add_importlibs(bcrypt_winetest bcrypt advapi32 user32 msvcrt kernel32) +add_importlibs(bcrypt_winetest advapi32 user32 msvcrt kernel32) add_rostests_file(TARGET bcrypt_winetest) diff --git a/modules/rostests/winetests/bcrypt/bcrypt.c b/modules/rostests/winetests/bcrypt/bcrypt.c index 5cdb0650400..42a20be4b85 100644 --- a/modules/rostests/winetests/bcrypt/bcrypt.c +++ b/modules/rostests/winetests/bcrypt/bcrypt.c @@ -26,35 +26,43 @@ #include "wine/test.h" -static NTSTATUS (WINAPI *pBCryptHash)( BCRYPT_ALG_HANDLE algorithm, UCHAR *secret, ULONG secretlen, - UCHAR *input, ULONG inputlen, UCHAR *output, ULONG outputlen ); +static NTSTATUS (WINAPI *pBCryptOpenAlgorithmProvider)(BCRYPT_ALG_HANDLE *, LPCWSTR, LPCWSTR, ULONG); +static NTSTATUS (WINAPI *pBCryptCloseAlgorithmProvider)(BCRYPT_ALG_HANDLE, ULONG); +static NTSTATUS (WINAPI *pBCryptGetFipsAlgorithmMode)(BOOLEAN *); +static NTSTATUS (WINAPI *pBCryptCreateHash)(BCRYPT_ALG_HANDLE, BCRYPT_HASH_HANDLE *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG); +static NTSTATUS (WINAPI *pBCryptHash)(BCRYPT_ALG_HANDLE, UCHAR *, ULONG, UCHAR *, ULONG, UCHAR *, ULONG); +static NTSTATUS (WINAPI *pBCryptHashData)(BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULONG); +static NTSTATUS (WINAPI *pBCryptFinishHash)(BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULONG); +static NTSTATUS (WINAPI *pBCryptDestroyHash)(BCRYPT_HASH_HANDLE); +static NTSTATUS (WINAPI *pBCryptGenRandom)(BCRYPT_ALG_HANDLE, PUCHAR, ULONG, ULONG); +static NTSTATUS (WINAPI *pBCryptGetProperty)(BCRYPT_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG *, ULONG); static void test_BCryptGenRandom(void) { NTSTATUS ret; UCHAR buffer[256]; - ret = BCryptGenRandom(NULL, NULL, 0, 0); + ret = pBCryptGenRandom(NULL, NULL, 0, 0); ok(ret == STATUS_INVALID_HANDLE, "Expected STATUS_INVALID_HANDLE, got 0x%x\n", ret); - ret = BCryptGenRandom(NULL, buffer, 0, 0); + ret = pBCryptGenRandom(NULL, buffer, 0, 0); ok(ret == STATUS_INVALID_HANDLE, "Expected STATUS_INVALID_HANDLE, got 0x%x\n", ret); - ret = BCryptGenRandom(NULL, buffer, sizeof(buffer), 0); + ret = pBCryptGenRandom(NULL, buffer, sizeof(buffer), 0); ok(ret == STATUS_INVALID_HANDLE, "Expected STATUS_INVALID_HANDLE, got 0x%x\n", ret); - ret = BCryptGenRandom(NULL, buffer, sizeof(buffer), BCRYPT_USE_SYSTEM_PREFERRED_RNG); + ret = pBCryptGenRandom(NULL, buffer, sizeof(buffer), BCRYPT_USE_SYSTEM_PREFERRED_RNG); ok(ret == STATUS_SUCCESS, "Expected success, got 0x%x\n", ret); - ret = BCryptGenRandom(NULL, buffer, sizeof(buffer), + ret = pBCryptGenRandom(NULL, buffer, sizeof(buffer), BCRYPT_USE_SYSTEM_PREFERRED_RNG|BCRYPT_RNG_USE_ENTROPY_IN_BUFFER); ok(ret == STATUS_SUCCESS, "Expected success, got 0x%x\n", ret); - ret = BCryptGenRandom(NULL, NULL, sizeof(buffer), BCRYPT_USE_SYSTEM_PREFERRED_RNG); + ret = pBCryptGenRandom(NULL, NULL, sizeof(buffer), BCRYPT_USE_SYSTEM_PREFERRED_RNG); ok(ret == STATUS_INVALID_PARAMETER, "Expected STATUS_INVALID_PARAMETER, got 0x%x\n", ret); /* Zero sized buffer should work too */ - ret = BCryptGenRandom(NULL, buffer, 0, BCRYPT_USE_SYSTEM_PREFERRED_RNG); + ret = pBCryptGenRandom(NULL, buffer, 0, BCRYPT_USE_SYSTEM_PREFERRED_RNG); ok(ret == STATUS_SUCCESS, "Expected success, got 0x%x\n", ret); /* Test random number generation - It's impossible for a sane RNG to return 8 zeros */ memset(buffer, 0, 16); - ret = BCryptGenRandom(NULL, buffer, 8, BCRYPT_USE_SYSTEM_PREFERRED_RNG); + ret = pBCryptGenRandom(NULL, buffer, 8, BCRYPT_USE_SYSTEM_PREFERRED_RNG); ok(ret == STATUS_SUCCESS, "Expected success, got 0x%x\n", ret); ok(memcmp(buffer, buffer + 8, 8), "Expected a random number, got 0\n"); } @@ -75,18 +83,19 @@ static void test_BCryptGetFipsAlgorithmMode(void) 'L','s','a',0}; static const WCHAR policyValueXPW[] = { 'F','I','P','S','A','l','g','o','r','i','t','h','m','P','o','l','i','c','y',0}; + HKEY hkey = NULL; BOOLEAN expected; BOOLEAN enabled; DWORD value, count[2] = {sizeof(value), sizeof(value)}; NTSTATUS ret; - if (!RegGetValueW(HKEY_LOCAL_MACHINE, policyKeyVistaW, policyValueVistaW, - RRF_RT_REG_DWORD, NULL, &value, &count[0])) + if (RegOpenKeyW(HKEY_LOCAL_MACHINE, policyKeyVistaW, &hkey) == ERROR_SUCCESS && + RegQueryValueExW(hkey, policyValueVistaW, NULL, NULL, (void *)&value, &count[0]) == ERROR_SUCCESS) { expected = !!value; } - else if (!RegGetValueW(HKEY_LOCAL_MACHINE, policyKeyXPW, policyValueXPW, - RRF_RT_REG_DWORD, NULL, &value, &count[1])) + else if (RegOpenKeyW(HKEY_LOCAL_MACHINE, policyKeyXPW, &hkey) == ERROR_SUCCESS && + RegQueryValueExW(hkey, policyValueXPW, NULL, NULL, (void *)&value, &count[0]) == ERROR_SUCCESS) { expected = !!value; } @@ -96,12 +105,13 @@ static void test_BCryptGetFipsAlgorithmMode(void) todo_wine ok(0, "Neither XP or Vista key is present\n"); } + RegCloseKey(hkey); - ret = BCryptGetFipsAlgorithmMode(&enabled); + ret = pBCryptGetFipsAlgorithmMode(&enabled); ok(ret == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%x\n", ret); ok(enabled == expected, "expected result %d, got %d\n", expected, enabled); - ret = BCryptGetFipsAlgorithmMode(NULL); + ret = pBCryptGetFipsAlgorithmMode(NULL); ok(ret == STATUS_INVALID_PARAMETER, "Expected STATUS_INVALID_PARAMETER, got 0x%x\n", ret); } @@ -129,7 +139,7 @@ static void _test_hash_length(unsigned line, void *handle, ULONG exlen) ULONG len = 0xdeadbeef, size = 0xdeadbeef; NTSTATUS status; - status = BCryptGetProperty(handle, BCRYPT_HASH_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + status = pBCryptGetProperty(handle, BCRYPT_HASH_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok_(__FILE__,line)(status == STATUS_SUCCESS, "BCryptGetProperty failed: %08x\n", status); ok_(__FILE__,line)(size == sizeof(len), "got %u\n", size); ok_(__FILE__,line)(len == exlen, "len = %u, expected %u\n", len, exlen); @@ -143,7 +153,7 @@ static void _test_alg_name(unsigned line, void *handle, const char *exname) const WCHAR *name = (const WCHAR*)buf; NTSTATUS status; - status = BCryptGetProperty(handle, BCRYPT_ALGORITHM_NAME, buf, sizeof(buf), &size, 0); + status = pBCryptGetProperty(handle, BCRYPT_ALGORITHM_NAME, buf, sizeof(buf), &size, 0); ok_(__FILE__,line)(status == STATUS_SUCCESS, "BCryptGetProperty failed: %08x\n", status); ok_(__FILE__,line)(size == (strlen(exname)+1)*sizeof(WCHAR), "got %u\n", size); ok_(__FILE__,line)(!strcmp_wa(name, exname), "alg name = %s, expected %s\n", wine_dbgstr_w(name), exname); @@ -161,35 +171,35 @@ static void test_sha1(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA1_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA1_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_HANDLE, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); ok(ret == STATUS_BUFFER_TOO_SMALL, "got %08x\n", ret); ok(len == 0xdeadbeef, "got %u\n", len); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(len != 0xdeadbeef, "len not set\n"); ok(size == sizeof(len), "got %u\n", size); @@ -199,58 +209,58 @@ static void test_sha1(void) hash = NULL; len = sizeof(buf); - ret = BCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); + ret = pBCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, NULL, 0, 0); + ret = pBCryptHashData(hash, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 20); test_alg_name(hash, "SHA1"); memset(sha1, 0, sizeof(sha1)); - ret = BCryptFinishHash(hash, sha1, sizeof(sha1), 0); + ret = pBCryptFinishHash(hash, sha1, sizeof(sha1), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha1, sizeof(sha1), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA1_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA1_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); hash = NULL; len = sizeof(buf_hmac); - ret = BCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); + ret = pBCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 20); test_alg_name(hash, "SHA1"); memset(sha1_hmac, 0, sizeof(sha1_hmac)); - ret = BCryptFinishHash(hash, sha1_hmac, sizeof(sha1_hmac), 0); + ret = pBCryptFinishHash(hash, sha1_hmac, sizeof(sha1_hmac), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha1_hmac, sizeof(sha1_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -268,35 +278,35 @@ static void test_sha256(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA256_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA256_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_HANDLE, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); ok(ret == STATUS_BUFFER_TOO_SMALL, "got %08x\n", ret); ok(len == 0xdeadbeef, "got %u\n", len); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(len != 0xdeadbeef, "len not set\n"); ok(size == sizeof(len), "got %u\n", size); @@ -306,58 +316,58 @@ static void test_sha256(void) hash = NULL; len = sizeof(buf); - ret = BCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); + ret = pBCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, NULL, 0, 0); + ret = pBCryptHashData(hash, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 32); test_alg_name(hash, "SHA256"); memset(sha256, 0, sizeof(sha256)); - ret = BCryptFinishHash(hash, sha256, sizeof(sha256), 0); + ret = pBCryptFinishHash(hash, sha256, sizeof(sha256), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha256, sizeof(sha256), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA256_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA256_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); hash = NULL; len = sizeof(buf_hmac); - ret = BCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); + ret = pBCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 32); test_alg_name(hash, "SHA256"); memset(sha256_hmac, 0, sizeof(sha256_hmac)); - ret = BCryptFinishHash(hash, sha256_hmac, sizeof(sha256_hmac), 0); + ret = pBCryptFinishHash(hash, sha256_hmac, sizeof(sha256_hmac), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha256_hmac, sizeof(sha256_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -375,35 +385,35 @@ static void test_sha384(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA384_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA384_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_HANDLE, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); ok(ret == STATUS_BUFFER_TOO_SMALL, "got %08x\n", ret); ok(len == 0xdeadbeef, "got %u\n", len); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(len != 0xdeadbeef, "len not set\n"); ok(size == sizeof(len), "got %u\n", size); @@ -413,58 +423,58 @@ static void test_sha384(void) hash = NULL; len = sizeof(buf); - ret = BCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); + ret = pBCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, NULL, 0, 0); + ret = pBCryptHashData(hash, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 48); test_alg_name(hash, "SHA384"); memset(sha384, 0, sizeof(sha384)); - ret = BCryptFinishHash(hash, sha384, sizeof(sha384), 0); + ret = pBCryptFinishHash(hash, sha384, sizeof(sha384), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha384, sizeof(sha384), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA384_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA384_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); hash = NULL; len = sizeof(buf_hmac); - ret = BCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); + ret = pBCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 48); test_alg_name(hash, "SHA384"); memset(sha384_hmac, 0, sizeof(sha384_hmac)); - ret = BCryptFinishHash(hash, sha384_hmac, sizeof(sha384_hmac), 0); + ret = pBCryptFinishHash(hash, sha384_hmac, sizeof(sha384_hmac), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha384_hmac, sizeof(sha384_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -484,35 +494,35 @@ static void test_sha512(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA512_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA512_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_HANDLE, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); ok(ret == STATUS_BUFFER_TOO_SMALL, "got %08x\n", ret); ok(len == 0xdeadbeef, "got %u\n", len); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(len != 0xdeadbeef, "len not set\n"); ok(size == sizeof(len), "got %u\n", size); @@ -522,58 +532,58 @@ static void test_sha512(void) hash = NULL; len = sizeof(buf); - ret = BCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); + ret = pBCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, NULL, 0, 0); + ret = pBCryptHashData(hash, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 64); test_alg_name(hash, "SHA512"); memset(sha512, 0, sizeof(sha512)); - ret = BCryptFinishHash(hash, sha512, sizeof(sha512), 0); + ret = pBCryptFinishHash(hash, sha512, sizeof(sha512), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha512, sizeof(sha512), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA512_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_SHA512_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); hash = NULL; len = sizeof(buf_hmac); - ret = BCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); + ret = pBCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 64); test_alg_name(hash, "SHA512"); memset(sha512_hmac, 0, sizeof(sha512_hmac)); - ret = BCryptFinishHash(hash, sha512_hmac, sizeof(sha512_hmac), 0); + ret = pBCryptFinishHash(hash, sha512_hmac, sizeof(sha512_hmac), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( sha512_hmac, sizeof(sha512_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -592,35 +602,35 @@ static void test_md5(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(NULL, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_HANDLE, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, NULL, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), NULL, 0); ok(ret == STATUS_INVALID_PARAMETER, "got %08x\n", ret); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, NULL, sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, 0, &size, 0); ok(ret == STATUS_BUFFER_TOO_SMALL, "got %08x\n", ret); ok(len == 0xdeadbeef, "got %u\n", len); ok(size == sizeof(len), "got %u\n", size); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len , sizeof(len), &size, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(len != 0xdeadbeef, "len not set\n"); ok(size == sizeof(len), "got %u\n", size); @@ -630,58 +640,58 @@ static void test_md5(void) hash = NULL; len = sizeof(buf); - ret = BCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); + ret = pBCryptCreateHash(alg, &hash, buf, len, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, NULL, 0, 0); + ret = pBCryptHashData(hash, NULL, 0, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 16); test_alg_name(hash, "MD5"); memset(md5, 0, sizeof(md5)); - ret = BCryptFinishHash(hash, md5, sizeof(md5), 0); + ret = pBCryptFinishHash(hash, md5, sizeof(md5), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( md5, sizeof(md5), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); hash = NULL; len = sizeof(buf_hmac); - ret = BCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); + ret = pBCryptCreateHash(alg, &hash, buf_hmac, len, (UCHAR *)"key", sizeof("key"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(hash != NULL, "hash not set\n"); - ret = BCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); + ret = pBCryptHashData(hash, (UCHAR *)"test", sizeof("test"), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); test_hash_length(hash, 16); test_alg_name(hash, "MD5"); memset(md5_hmac, 0, sizeof(md5_hmac)); - ret = BCryptFinishHash(hash, md5_hmac, sizeof(md5_hmac), 0); + ret = pBCryptFinishHash(hash, md5_hmac, sizeof(md5_hmac), 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); format_hash( md5_hmac, sizeof(md5_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptDestroyHash(hash); + ret = pBCryptDestroyHash(hash); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -697,7 +707,7 @@ static void test_BcryptHash(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); @@ -710,12 +720,12 @@ static void test_BcryptHash(void) format_hash( md5, sizeof(md5), str ); ok(!strcmp(str, expected), "got %s\n", str); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); alg = NULL; memset(md5_hmac, 0, sizeof(md5_hmac)); - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_MD5_ALGORITHM, MS_PRIMITIVE_PROVIDER, BCRYPT_ALG_HANDLE_HMAC_FLAG); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); @@ -724,7 +734,7 @@ static void test_BcryptHash(void) format_hash( md5_hmac, sizeof(md5_hmac), str ); ok(!strcmp(str, expected_hmac), "got %s\n", str); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -736,31 +746,46 @@ static void test_rng(void) NTSTATUS ret; alg = NULL; - ret = BCryptOpenAlgorithmProvider(&alg, BCRYPT_RNG_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); + ret = pBCryptOpenAlgorithmProvider(&alg, BCRYPT_RNG_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(alg != NULL, "alg not set\n"); len = size = 0xdeadbeef; - ret = BCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); + ret = pBCryptGetProperty(alg, BCRYPT_OBJECT_LENGTH, (UCHAR *)&len, sizeof(len), &size, 0); ok(ret == STATUS_NOT_SUPPORTED, "got %08x\n", ret); test_alg_name(alg, "RNG"); memset(buf, 0, 16); - ret = BCryptGenRandom(alg, buf, 8, 0); + ret = pBCryptGenRandom(alg, buf, 8, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); ok(memcmp(buf, buf + 8, 8), "got zeroes\n"); - ret = BCryptCloseAlgorithmProvider(alg, 0); + ret = pBCryptCloseAlgorithmProvider(alg, 0); ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } - START_TEST(bcrypt) { HMODULE module; - module = GetModuleHandleA( "bcrypt.dll" ); + module = LoadLibraryA("bcrypt.dll"); + if (!module) + { + win_skip("bcrypt.dll not found\n"); + return; + } + + pBCryptOpenAlgorithmProvider = (void *)GetProcAddress(module, "BCryptOpenAlgorithmProvider"); + pBCryptCloseAlgorithmProvider = (void *)GetProcAddress(module, "BCryptCloseAlgorithmProvider"); + pBCryptGetFipsAlgorithmMode = (void *)GetProcAddress(module, "BCryptGetFipsAlgorithmMode"); + pBCryptCreateHash = (void *)GetProcAddress(module, "BCryptCreateHash"); + pBCryptHash = (void *)GetProcAddress(module, "BCryptHash"); + pBCryptHashData = (void *)GetProcAddress(module, "BCryptHashData"); + pBCryptFinishHash = (void *)GetProcAddress(module, "BCryptFinishHash"); + pBCryptDestroyHash = (void *)GetProcAddress(module, "BCryptDestroyHash"); + pBCryptGenRandom = (void *)GetProcAddress(module, "BCryptGenRandom"); + pBCryptGetProperty = (void *)GetProcAddress(module, "BCryptGetProperty"); test_BCryptGenRandom(); test_BCryptGetFipsAlgorithmMode(); @@ -771,10 +796,10 @@ START_TEST(bcrypt) test_md5(); test_rng(); - pBCryptHash = (void *)GetProcAddress( module, "BCryptHash" ); - - if (pBCryptHash) + if (pBCryptHash) /* >= Win 10 */ test_BcryptHash(); else win_skip("BCryptHash is not available\n"); + + FreeLibrary(module); }
2 years, 3 months
1
0
0
0
[reactos] 03/03: [ACLAYERS] Fix RtlGetVersion
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=815dd140c77b7af9cde82…
commit 815dd140c77b7af9cde824e497bf04544ff8e8f0 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Tue Sep 13 21:35:23 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Sun Sep 25 19:33:51 2022 +0200 [ACLAYERS] Fix RtlGetVersion --- dll/appcompat/shims/layer/versionlie.inl | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dll/appcompat/shims/layer/versionlie.inl b/dll/appcompat/shims/layer/versionlie.inl index 2b3576b398a..7eb4f5c6794 100644 --- a/dll/appcompat/shims/layer/versionlie.inl +++ b/dll/appcompat/shims/layer/versionlie.inl @@ -31,14 +31,19 @@ BOOL WINAPI SHIM_OBJ_NAME(APIHook_GetVersionExW)(LPOSVERSIONINFOEXA lpOsVersionI return FALSE; } +#ifndef STATUS_INVALID_PARAMETER +#define STATUS_INVALID_PARAMETER 0xC000000DL +#define STATUS_SUCCESS 0 +#endif + /* We do not care about the actual type, FakeVersion will correctly handle it either way */ -BOOL WINAPI SHIM_OBJ_NAME(APIHook_RtlGetVersion)(LPOSVERSIONINFOEXA lpOsVersionInfo) +DWORD WINAPI SHIM_OBJ_NAME(APIHook_RtlGetVersion)(LPOSVERSIONINFOEXA lpOsVersionInfo) { - if (CALL_SHIM(3, GETVERSIONEXAPROC)(lpOsVersionInfo)) + if (CALL_SHIM(3, GETVERSIONEXAPROC)(lpOsVersionInfo) == STATUS_SUCCESS) { - return FakeVersion(lpOsVersionInfo, &VERSION_INFO); + return FakeVersion(lpOsVersionInfo, &VERSION_INFO) ? STATUS_SUCCESS : STATUS_INVALID_PARAMETER; } - return FALSE; + return STATUS_INVALID_PARAMETER; } BOOL WINAPI SHIM_OBJ_NAME(Notify)(DWORD fdwReason, PVOID ptr)
2 years, 3 months
1
0
0
0
[reactos] 02/03: [MSI] Abuse SE_DynamicShim until we have proper shims integration
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=05637a5e3d83d355962c4…
commit 05637a5e3d83d355962c434eeeb2e0333054a898 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Tue Sep 13 20:46:51 2022 +0200 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Sun Sep 25 19:33:51 2022 +0200 [MSI] Abuse SE_DynamicShim until we have proper shims integration CORE-18362 --- dll/win32/msi/CMakeLists.txt | 2 +- dll/win32/msi/package.c | 56 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/dll/win32/msi/CMakeLists.txt b/dll/win32/msi/CMakeLists.txt index 56fcc80cb25..82874b70b46 100644 --- a/dll/win32/msi/CMakeLists.txt +++ b/dll/win32/msi/CMakeLists.txt @@ -86,7 +86,7 @@ set_source_files_properties(msi.rc PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BI set_module_type(msi win32dll) target_link_libraries(msi uuid ${PSEH_LIB} wine_dll_register oldnames) add_dependencies(msi msi_idlheader) -add_delay_importlibs(msi odbccp32 crypt32 wintrust) +add_delay_importlibs(msi odbccp32 crypt32 wintrust apphelp) add_importlibs(msi advapi32 advapi32_vista cabinet comctl32 gdi32 ole32 oleaut32 shell32 shlwapi rpcrt4 urlmon user32 version wininet sxs #FIXME : imagehlp, mspatcha should be in delayed imports imagehlp diff --git a/dll/win32/msi/package.c b/dll/win32/msi/package.c index 3095026003e..b87132494bd 100644 --- a/dll/win32/msi/package.c +++ b/dll/win32/msi/package.c @@ -1330,6 +1330,58 @@ UINT msi_set_original_database_property( MSIDATABASE *db, const WCHAR *package ) return r; } +#ifdef __REACTOS__ +BOOL WINAPI ApphelpCheckRunAppEx(HANDLE FileHandle, PVOID Unk1, PVOID Unk2, PCWSTR ApplicationName, PVOID Environment, USHORT ExeType, PULONG Reason, PVOID *SdbQueryAppCompatData, PULONG SdbQueryAppCompatDataSize, + PVOID *SxsData, PULONG SxsDataSize, PULONG FusionFlags, PULONG64 SomeFlag1, PULONG SomeFlag2); +BOOL WINAPI SE_DynamicShim(LPCWSTR ProcessImage, PVOID hsdb, PVOID pQueryResult, LPCSTR Module, LPDWORD lpdwDynamicToken); +PVOID WINAPI SdbInitDatabase(DWORD flags, LPCWSTR path); +PVOID WINAPI SdbReleaseDatabase(PVOID hsdb); + +#define HID_DOS_PATHS 0x1 +#define SDB_DATABASE_MAIN_SHIM 0x80030000 + +#define APPHELP_VALID_RESULT 0x10000 +#define APPHELP_RESULT_FOUND 0x40000 + +static void +AppHelpCheckPackage(LPCWSTR szPackage) +{ + USHORT ExeType = 0; + ULONG Reason = 0; + + PVOID QueryResult = NULL; + ULONG QueryResultSize = 0; + + HANDLE Handle = NULL; + BOOL Continue = ApphelpCheckRunAppEx( + Handle, NULL, NULL, szPackage, NULL, ExeType, &Reason, &QueryResult, &QueryResultSize, NULL, + NULL, NULL, NULL, NULL); + + if (Continue) + { + if ((Reason & (APPHELP_VALID_RESULT | APPHELP_RESULT_FOUND)) == (APPHELP_VALID_RESULT | APPHELP_RESULT_FOUND)) + { + DWORD dwToken; + PVOID hsdb = SdbInitDatabase(HID_DOS_PATHS | SDB_DATABASE_MAIN_SHIM, NULL); + if (hsdb) + { + BOOL bShim = SE_DynamicShim(szPackage, hsdb, QueryResult, "msi.dll", &dwToken); + ERR("ReactOS HACK: Used SE_DynamicShim %d!\n", bShim); + + SdbReleaseDatabase(hsdb); + } + else + { + ERR("Unable to open SDB_DATABASE_MAIN_SHIM\n"); + } + } + } + + if (QueryResult) + RtlFreeHeap(RtlGetProcessHeap(), 0, QueryResult); +} +#endif + UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage) { MSIDATABASE *db; @@ -1368,6 +1420,10 @@ UINT MSI_OpenPackageW(LPCWSTR szPackage, DWORD dwOptions, MSIPACKAGE **pPackage) file = cachefile; } +#ifdef __REACTOS__ + AppHelpCheckPackage(file); +#endif + r = MSI_OpenDatabaseW( file, MSIDBOPEN_READONLY, &db ); if (r != ERROR_SUCCESS) {
2 years, 3 months
1
0
0
0
[reactos] 01/03: [APPHELP] Implement SE_DynamicShim
by Mark Jansen
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=93e88edbb68460acf5548…
commit 93e88edbb68460acf55481b0b3d666104a2fdb83 Author: Mark Jansen <mark.jansen(a)reactos.org> AuthorDate: Sun Nov 18 23:18:13 2018 +0100 Commit: Mark Jansen <mark.jansen(a)reactos.org> CommitDate: Sun Sep 25 19:33:36 2022 +0200 [APPHELP] Implement SE_DynamicShim --- dll/appcompat/apphelp/apphelp.c | 2 +- dll/appcompat/apphelp/apphelp.spec | 2 +- dll/appcompat/apphelp/shimeng.c | 45 +++++++++++++++++++++++++++++++------- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/dll/appcompat/apphelp/apphelp.c b/dll/appcompat/apphelp/apphelp.c index bca880c35e7..fd7a069468a 100644 --- a/dll/appcompat/apphelp/apphelp.c +++ b/dll/appcompat/apphelp/apphelp.c @@ -185,7 +185,7 @@ ApphelpCheckRunAppEx( _In_ HANDLE FileHandle, _In_opt_ PVOID Unk1, _In_opt_ PVOID Unk2, - _In_opt_z_ PWCHAR ApplicationName, + _In_opt_z_ PCWSTR ApplicationName, _In_opt_ PVOID Environment, _In_opt_ USHORT ExeType, _Inout_opt_ PULONG Reason, diff --git a/dll/appcompat/apphelp/apphelp.spec b/dll/appcompat/apphelp/apphelp.spec index b2f7ba27fa0..898fb9c836e 100644 --- a/dll/appcompat/apphelp/apphelp.spec +++ b/dll/appcompat/apphelp/apphelp.spec @@ -160,7 +160,7 @@ @ stdcall SdbWriteWORDTag(ptr long long) @ stdcall SE_DllLoaded(ptr) @ stdcall SE_DllUnloaded(ptr) -@ stub SE_DynamicShim +@ stdcall SE_DynamicShim(wstr ptr ptr str ptr) @ stub SE_DynamicUnshim @ stdcall SE_InstallAfterInit(ptr ptr) @ stdcall SE_InstallBeforeInit(ptr ptr) diff --git a/dll/appcompat/apphelp/shimeng.c b/dll/appcompat/apphelp/shimeng.c index 190e17c2a72..c470ff3d8d6 100644 --- a/dll/appcompat/apphelp/shimeng.c +++ b/dll/appcompat/apphelp/shimeng.c @@ -878,7 +878,13 @@ VOID SeiAppendInExclude(PARRAY dest, PCWSTR ModuleName, BOOL IsInclude) } } -/* Read the INEXCLUD tags from a given parent tag */ +/* Read the INEXCLUD tags from a given parent tag +FIXME: + Some observed tags: + '*' with include + '$' with include, followed by '*' without include + Include list logging, referring to: (MODE: EA) +*/ VOID SeiReadInExclude(PDB pdb, TAGID parent, PARRAY dest) { TAGID InExcludeTag; @@ -1175,7 +1181,7 @@ VOID SeiResetEntryProcessed(PPEB Peb) } } -VOID SeiInit(PUNICODE_STRING ProcessImage, HSDB hsdb, SDBQUERYRESULT* pQuery) +VOID SeiInit(LPCWSTR ProcessImage, HSDB hsdb, SDBQUERYRESULT* pQuery, BOOLEAN ProcessInit) { DWORD n; ARRAY ShimRefArray; @@ -1197,15 +1203,18 @@ VOID SeiInit(PUNICODE_STRING ProcessImage, HSDB hsdb, SDBQUERYRESULT* pQuery) SeiCheckComPlusImage(Peb->ImageBaseAddress); - /* Mark all modules loaded until now as 'LDRP_ENTRY_PROCESSED' so that their entrypoint is not called while we are loading shims */ - SeiSetEntryProcessed(Peb); + if (ProcessInit) + { + /* Mark all modules loaded until now as 'LDRP_ENTRY_PROCESSED' so that their entrypoint is not called while we are loading shims */ + SeiSetEntryProcessed(Peb); + } /* TODO: if (pQuery->trApphelp) SeiDisplayAppHelp(?pQuery->trApphelp?); */ - SeiDbgPrint(SEI_MSG, NULL, "ShimInfo(ExePath(%wZ))\n", ProcessImage); + SeiDbgPrint(SEI_MSG, NULL, "ShimInfo(ExePath(%S))\n", ProcessImage); SeiBuildShimRefArray(hsdb, pQuery, &ShimRefArray, &ShimFlags); if (ShimFlags.AppCompatFlags.QuadPart) { @@ -1344,8 +1353,11 @@ VOID SeiInit(PUNICODE_STRING ProcessImage, HSDB hsdb, SDBQUERYRESULT* pQuery) SeiResolveAPIs(); PatchNewModules(Peb); - /* Remove the 'LDRP_ENTRY_PROCESSED' flag from entries we modified, so that the loader can continue to process them */ - SeiResetEntryProcessed(Peb); + if (ProcessInit) + { + /* Remove the 'LDRP_ENTRY_PROCESSED' flag from entries we modified, so that the loader can continue to process them */ + SeiResetEntryProcessed(Peb); + } } @@ -1413,7 +1425,7 @@ VOID NTAPI SE_InstallBeforeInit(PUNICODE_STRING ProcessImage, PVOID pShimData) } g_bShimDuringInit = TRUE; - SeiInit(ProcessImage, hsdb, &QueryResult); + SeiInit(ProcessImage->Buffer, hsdb, &QueryResult, TRUE); g_bShimDuringInit = FALSE; SdbReleaseDatabase(hsdb); @@ -1464,3 +1476,20 @@ BOOL WINAPI SE_IsShimDll(PVOID BaseAddress) return SeiGetShimModuleInfo(BaseAddress) != NULL; } +/* 'Private' ntdll function */ +BOOLEAN +NTAPI +LdrInitShimEngineDynamic(IN PVOID BaseAddress); + + +BOOL WINAPI SE_DynamicShim(LPCWSTR ProcessImage, HSDB hsdb, PVOID pQueryResult, LPCSTR Module, LPDWORD lpdwDynamicToken) +{ + g_bShimDuringInit = TRUE; + SeiInit(ProcessImage, hsdb, pQueryResult, FALSE); + g_bShimDuringInit = FALSE; + + LdrInitShimEngineDynamic(g_hInstance); + + return TRUE; +} +
2 years, 3 months
1
0
0
0
[reactos] 02/02: [BOOTDATA] hivesys.inf: Remove redundant fastfat "Start" entry.
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=18d40ebe81cbc4646f482…
commit 18d40ebe81cbc4646f48247d831bc1d53752dd1b Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sun Sep 25 17:52:16 2022 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Sep 25 17:52:35 2022 +0200 [BOOTDATA] hivesys.inf: Remove redundant fastfat "Start" entry. The one in the [AddReg] section has the very same value. --- boot/bootdata/hivesys.inf | 1 - 1 file changed, 1 deletion(-) diff --git a/boot/bootdata/hivesys.inf b/boot/bootdata/hivesys.inf index 65c54f7131e..45c3d6e6446 100644 --- a/boot/bootdata/hivesys.inf +++ b/boot/bootdata/hivesys.inf @@ -2232,7 +2232,6 @@ HKLM,"SYSTEM\CurrentControlSet\Services\Disk","ImagePath",0x00020000,"system32\d HKLM,"SYSTEM\CurrentControlSet\Services\Disk","Start",0x00010001,0x00000000 HKLM,"SYSTEM\CurrentControlSet\Services\Disk","Type",0x00010001,0x00000001 -HKLM,"SYSTEM\CurrentControlSet\Services\fastfat","Start",0x00010001,0x00000003 [Strings]
2 years, 3 months
1
0
0
0
[reactos] 01/02: [OPENGLCFG] Fix encoding of Japanese translation (was using Shift-JIS, now using UTF8).
by Hermès Bélusca-Maïto
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=590189793313b3481a4ed…
commit 590189793313b3481a4ed83e23606d81b910f361 Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> AuthorDate: Sun Sep 25 17:40:22 2022 +0200 Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org> CommitDate: Sun Sep 25 17:40:46 2022 +0200 [OPENGLCFG] Fix encoding of Japanese translation (was using Shift-JIS, now using UTF8). Addendum to commit 555bec6a4. --- dll/cpl/openglcfg/lang/ja-JP.rc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/dll/cpl/openglcfg/lang/ja-JP.rc b/dll/cpl/openglcfg/lang/ja-JP.rc index c4b4d950aa5..88ea40d411c 100644 --- a/dll/cpl/openglcfg/lang/ja-JP.rc +++ b/dll/cpl/openglcfg/lang/ja-JP.rc @@ -2,27 +2,27 @@ LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT IDD_PROPPAGEGENERAL DIALOGEX 0, 0, 246, 228 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "��ʐݒ�" +CAPTION "一般設定" FONT 9, "MS UI Gothic" BEGIN ICON IDI_CPLICON, IDI_CPLICON, 8, 0, 21, 20 - GROUPBOX "�����_���[�ݒ�", -1, 5, 25, 230, 90 - LTEXT "�����_���[(&R):", -1, 15, 42, 37, 10 + GROUPBOX "レンダラー設定", -1, 5, 25, 230, 90 + LTEXT "レンダラー(&R):", -1, 15, 42, 37, 10 COMBOBOX IDC_RENDERER, 55, 40, 160, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "����ɂ��A�O���t�B�b�N �h���C�o�[�̃f�t�H���g�ݒ肪�㏑������܂��B�u�f�t�H���g�v��I����ƁA���̐ݒ�ɖ߂�܂��B", -1, 15, 60, 210, 40 - GROUPBOX "�f�o�b�O", -1, 5, 125, 230, 90 + LTEXT "これにより、グラフィック ドライバーのデフォルト設定が上書きされます。「デフォルト」を選択すると、元の設定に戻ります。", -1, 15, 60, 210, 40 + GROUPBOX "デバッグ", -1, 5, 125, 230, 90 LTEXT "DEBUGCHANNEL:", -1, 15, 142, 65, 10 COMBOBOX IDC_DEBUG_OUTPUT, 80, 140, 135, 10, WS_TABSTOP | WS_VSCROLL | CBS_DROPDOWNLIST - LTEXT "opengl32 ����̃f�o�b�O�o�͂�L��/�����ɂ��܂��B\n\n�x��: �u�ݒ�v�܂��́u�N���A�v��I����ƁADEBUGCHANNEL ���ϐ��̓�e���㏑������܂��B", -1, 15, 165, 210, 40 + LTEXT "opengl32 からのデバッグ出力を有効/無効にします。\n\n警告: 「設定」または「クリア」を選択すると、DEBUGCHANNEL 環境変数の内容が上書きされます。", -1, 15, 165, 210, 40 END STRINGTABLE BEGIN - IDS_RENDERER_DEFAULT "�V�X�e�� �f�t�H���g" - IDS_RENDERER_RSWR "ReactOS �\�t�g�E�F�A����" - IDS_CPLNAME "OpenGL �ݒ�" - IDS_CPLDESCRIPTION "OpenGL �����_���[�̐ݒ��ύX���܂�" - IDS_DEBUG_SET "�ݒ�" - IDS_DEBUG_CLEAR "�N���A" - IDS_DEBUG_DNM "�ύX���Ȃ�" + IDS_RENDERER_DEFAULT "システム デフォルト" + IDS_RENDERER_RSWR "ReactOS ソフトウェア実装" + IDS_CPLNAME "OpenGL 設定" + IDS_CPLDESCRIPTION "OpenGL レンダラーの設定を変更します" + IDS_DEBUG_SET "設定" + IDS_DEBUG_CLEAR "クリア" + IDS_DEBUG_DNM "変更しない" END
2 years, 3 months
1
0
0
0
[reactos] 01/01: [EXPLORER] Cleanup after last commit (#4722)
by Joachim Henze
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=63fa6747827cb72e4ab30…
commit 63fa6747827cb72e4ab30345b9a7be11212d6009 Author: Joachim Henze <joachim.henze(a)reactos.org> AuthorDate: Sun Sep 25 15:48:54 2022 +0200 Commit: GitHub <noreply(a)github.com> CommitDate: Sun Sep 25 16:48:54 2022 +0300 [EXPLORER] Cleanup after last commit (#4722) Improves code that was added by 0.4.15-dev-5078-g 46de3a22acc without any review yesterday. CORE-15369 --- base/shell/explorer/traywnd.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/base/shell/explorer/traywnd.cpp b/base/shell/explorer/traywnd.cpp index 2b648e80568..b8437fe23cd 100644 --- a/base/shell/explorer/traywnd.cpp +++ b/base/shell/explorer/traywnd.cpp @@ -3045,10 +3045,8 @@ HandleTrayContextMenu: LRESULT OnNcLButtonUp(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { - if (CheckShowDesktopButtonClick(lParam, bHandled)) - return 0; - - return 0; + CheckShowDesktopButtonClick(lParam, bHandled); + return FALSE; } LRESULT OnAppTrayDestroy(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
2 years, 3 months
1
0
0
0
[reactos] 01/01: [MMSYS] Fix "Speaker settings" image transparency (#4716)
by Thamatip Chitpong
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=1f2b7e5a5628c9c1a34bf…
commit 1f2b7e5a5628c9c1a34bfc2dab172f538a5cd9ce Author: Thamatip Chitpong <tangaming123456(a)outlook.com> AuthorDate: Sun Sep 25 20:46:30 2022 +0700 Commit: GitHub <noreply(a)github.com> CommitDate: Sun Sep 25 16:46:30 2022 +0300 [MMSYS] Fix "Speaker settings" image transparency (#4716) - Use 72x72 icon instead of a bitmap - Use correct control position and size for IDC_SPEAKIMG - VolumeDlgProc: Add NULL check for DestroyIcon and fix cleanup order Addendum to 781c247b. --- dll/cpl/mmsys/lang/bg-BG.rc | 2 +- dll/cpl/mmsys/lang/cs-CZ.rc | 2 +- dll/cpl/mmsys/lang/de-DE.rc | 2 +- dll/cpl/mmsys/lang/el-GR.rc | 2 +- dll/cpl/mmsys/lang/en-US.rc | 2 +- dll/cpl/mmsys/lang/es-ES.rc | 2 +- dll/cpl/mmsys/lang/fr-FR.rc | 2 +- dll/cpl/mmsys/lang/he-IL.rc | 2 +- dll/cpl/mmsys/lang/id-ID.rc | 2 +- dll/cpl/mmsys/lang/it-IT.rc | 2 +- dll/cpl/mmsys/lang/ja-JP.rc | 2 +- dll/cpl/mmsys/lang/nl-NL.rc | 2 +- dll/cpl/mmsys/lang/no-NO.rc | 2 +- dll/cpl/mmsys/lang/pl-PL.rc | 2 +- dll/cpl/mmsys/lang/pt-BR.rc | 2 +- dll/cpl/mmsys/lang/pt-PT.rc | 2 +- dll/cpl/mmsys/lang/ro-RO.rc | 2 +- dll/cpl/mmsys/lang/ru-RU.rc | 2 +- dll/cpl/mmsys/lang/sk-SK.rc | 2 +- dll/cpl/mmsys/lang/sq-AL.rc | 2 +- dll/cpl/mmsys/lang/tr-TR.rc | 2 +- dll/cpl/mmsys/lang/uk-UA.rc | 2 +- dll/cpl/mmsys/lang/zh-CN.rc | 2 +- dll/cpl/mmsys/lang/zh-HK.rc | 2 +- dll/cpl/mmsys/lang/zh-TW.rc | 2 +- dll/cpl/mmsys/mmsys.rc | 3 +- dll/cpl/mmsys/resource.h | 2 +- dll/cpl/mmsys/resources/speaker.bmp | Bin 14896 -> 0 bytes dll/cpl/mmsys/resources/speaker.ico | Bin 0 -> 32366 bytes dll/cpl/mmsys/volume.c | 87 ++++++++++++------------------------ 30 files changed, 56 insertions(+), 86 deletions(-) diff --git a/dll/cpl/mmsys/lang/bg-BG.rc b/dll/cpl/mmsys/lang/bg-BG.rc index 93d04883c84..b9a00488a61 100644 --- a/dll/cpl/mmsys/lang/bg-BG.rc +++ b/dll/cpl/mmsys/lang/bg-BG.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Поставяне на &значе за звука в задачната лента", IDC_ICON_IN_TASKBAR, 50, 92, 180, 10 PUSHBUTTON "Разш&ирени...", IDC_ADVANCED_BTN, 154, 105, 80, 15 GROUPBOX "Настройки на говорителя", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Чрез долните настройки можете да укажете силата и други свойства на всеки говорител поотделно.", -1, 70, 155, 150, 36 PUSHBUTTON "Сила на &говорителя...", IDC_SPEAKER_VOL_BTN, 72, 195, 80, 15 PUSHBUTTON "Раз&ширени...", IDC_ADVANCED2_BTN, 154, 195, 80, 15 diff --git a/dll/cpl/mmsys/lang/cs-CZ.rc b/dll/cpl/mmsys/lang/cs-CZ.rc index c6e132ace81..4267f92b072 100644 --- a/dll/cpl/mmsys/lang/cs-CZ.rc +++ b/dll/cpl/mmsys/lang/cs-CZ.rc @@ -21,7 +21,7 @@ BEGIN AUTOCHECKBOX "Umístit &ikonu hlasitosti na panel úloh", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Upřesnit...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Nastavení reproduktorů", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Nastavení níže lze použít ke změnění hlasitosti jednotlivých reproduktorů a dalších nastavení.", -1, 70, 155, 150, 36 PUSHBUTTON "&Hlasitost reproduktorů...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "U&přesnit...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/de-DE.rc b/dll/cpl/mmsys/lang/de-DE.rc index 95a2492daac..5de5457beb2 100644 --- a/dll/cpl/mmsys/lang/de-DE.rc +++ b/dll/cpl/mmsys/lang/de-DE.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Lautstärkeregelungs-&Icon in der Taskleiste zeigen", IDC_ICON_IN_TASKBAR, 50, 92, 170, 10 PUSHBUTTON "Er&weitert", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Lautsprechereinstellungen", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Verwenden Sie die unteren Einstellungen um die Lautstärke einzelner Geräte und andere Einstellungen zu verändern.", -1, 70, 155, 150, 36 PUSHBUTTON "&Lautstärke...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "E&rweitert...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/el-GR.rc b/dll/cpl/mmsys/lang/el-GR.rc index 3976d3c4365..0d13de812dc 100644 --- a/dll/cpl/mmsys/lang/el-GR.rc +++ b/dll/cpl/mmsys/lang/el-GR.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Place volume &icon in the taskbar", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "Ad&vanced...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Speaker settings", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Use the settings below to change individual speaker volume and other settings.", -1, 70, 155, 150, 36 PUSHBUTTON "&Speaker Volume...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&dvanced...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/en-US.rc b/dll/cpl/mmsys/lang/en-US.rc index 4f0742b0d26..338eb6a7843 100644 --- a/dll/cpl/mmsys/lang/en-US.rc +++ b/dll/cpl/mmsys/lang/en-US.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Place volume &icon in the taskbar", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "Ad&vanced...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Speaker settings", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Use the settings below to change individual speaker volume and other settings.", -1, 70, 155, 150, 36 PUSHBUTTON "&Speaker Volume...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&dvanced...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/es-ES.rc b/dll/cpl/mmsys/lang/es-ES.rc index 9f93c3cfaec..04f50ba4545 100644 --- a/dll/cpl/mmsys/lang/es-ES.rc +++ b/dll/cpl/mmsys/lang/es-ES.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Colocar un icono de volumen en la &barra de tareas", IDC_ICON_IN_TASKBAR, 30, 92, 180, 10 PUSHBUTTON "Propiedades avan&zadas...", IDC_ADVANCED_BTN, 140, 105, 88, 15 GROUPBOX "Configuración del altavoz ", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Utilice esta configuración para cambiar el volumen del altavoz y otras configuraciones.", -1, 70, 155, 150, 36 PUSHBUTTON "Vol&umen de altavoz...", IDC_SPEAKER_VOL_BTN, 60, 195, 75, 15 PUSHBUTTON "Propiedades &avanzadas...", IDC_ADVANCED2_BTN, 140, 195, 88, 15 diff --git a/dll/cpl/mmsys/lang/fr-FR.rc b/dll/cpl/mmsys/lang/fr-FR.rc index 7180c2a6615..8bdb742709f 100644 --- a/dll/cpl/mmsys/lang/fr-FR.rc +++ b/dll/cpl/mmsys/lang/fr-FR.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Placer une icône du volume dans la barre de tâches", IDC_ICON_IN_TASKBAR, 50, 92, 175, 10 PUSHBUTTON "A&vancé...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Paramètres des enceintes", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Utilisez les paramètres ci-dessous pour changer le volume de chaque enceinte et modifier d'autres réglagles.", -1, 70, 155, 150, 36 PUSHBUTTON "Volume des enceinte&s...", IDC_SPEAKER_VOL_BTN, 60, 195, 85, 15 PUSHBUTTON "A&vancé...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/he-IL.rc b/dll/cpl/mmsys/lang/he-IL.rc index c98f19992e4..0c5b8059048 100644 --- a/dll/cpl/mmsys/lang/he-IL.rc +++ b/dll/cpl/mmsys/lang/he-IL.rc @@ -18,7 +18,7 @@ BEGIN AUTOCHECKBOX "שים סמל עוצמה בשורת המשימות", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "מתקדם...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "הגדרות רמקולים", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Use the settings below to change individual speaker volume and other settings.", -1, 70, 155, 150, 36 PUSHBUTTON "עוצמת רמקולים...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "מתקדם...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/id-ID.rc b/dll/cpl/mmsys/lang/id-ID.rc index 2035718dd68..7737bb9942e 100644 --- a/dll/cpl/mmsys/lang/id-ID.rc +++ b/dll/cpl/mmsys/lang/id-ID.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Tempatkan i&kon volume pada bilah tugas", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Tingkat Lanjut...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Pengaturan pengeras suara", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Gunakan pengaturan di bawah untuk mengubah volume masing-masing pengeras suara dan pengaturan lainnya.", -1, 70, 155, 150, 36 PUSHBUTTON "Volume &Pengeras Suara...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Tingkat La&njut...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/it-IT.rc b/dll/cpl/mmsys/lang/it-IT.rc index 36e8890675f..fe60d3b85e6 100644 --- a/dll/cpl/mmsys/lang/it-IT.rc +++ b/dll/cpl/mmsys/lang/it-IT.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Mettere l'icona del &volume nella barra dei task", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Avanzate...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Impostazione altoparlanti", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Usare le impostazioni seguenti per modificare per i singoli altoparlanti il volume ed altre impostazioni.", -1, 70, 155, 150, 36 PUSHBUTTON "Volume...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&vanzate...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/ja-JP.rc b/dll/cpl/mmsys/lang/ja-JP.rc index 55b6bbea673..a29e91705e7 100644 --- a/dll/cpl/mmsys/lang/ja-JP.rc +++ b/dll/cpl/mmsys/lang/ja-JP.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "タスクバーに音量アイコンを置く(&I)", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "上級者向け(&V)...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "スピーカーの設定", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "個別のスピーカーの音量やその他の設定を変更するために下の設定をお使い下さい。", -1, 70, 155, 150, 36 PUSHBUTTON "スピーカー音量(&S)...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "上級者向け(&D)...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/nl-NL.rc b/dll/cpl/mmsys/lang/nl-NL.rc index b63fa6cef3f..78c058ff078 100644 --- a/dll/cpl/mmsys/lang/nl-NL.rc +++ b/dll/cpl/mmsys/lang/nl-NL.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "P&ictogram voor het volume in het systeemvak plaatsen", IDC_ICON_IN_TASKBAR, 25, 92, 190, 10 PUSHBUTTON "Ge&avanceerd...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Luidsprekerinstellingen", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Met de onderstaande knoppen kunt u het\nvolume en andere instellingen van de\nluidsprekers wijzigen.", -1, 70, 155, 150, 36 PUSHBUTTON "&Luidsprekervolume..", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "&Geavanceerd...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/no-NO.rc b/dll/cpl/mmsys/lang/no-NO.rc index 89e32235c9e..b18371eed6c 100644 --- a/dll/cpl/mmsys/lang/no-NO.rc +++ b/dll/cpl/mmsys/lang/no-NO.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Plasser volum &ikon i oppgavelinjen", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "A&vansert...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Høytaller innstilling", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Bruk innstillingen under for å endre individuell høytaller volum og andre innstillinger.", -1, 70, 155, 150, 36 PUSHBUTTON "&Høytallervolum...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&vansert...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/pl-PL.rc b/dll/cpl/mmsys/lang/pl-PL.rc index 6b0d0af62e3..478e36848bb 100644 --- a/dll/cpl/mmsys/lang/pl-PL.rc +++ b/dll/cpl/mmsys/lang/pl-PL.rc @@ -30,7 +30,7 @@ BEGIN AUTOCHECKBOX "Umieść &ikonę głośności w zasobniku systemowym", IDC_ICON_IN_TASKBAR, 50, 92, 180, 10 PUSHBUTTON "&Zaawansowane...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Ustawienia głośników", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Użyj ustawień poniżej aby zmienić indywidualny poziom głośności i dostosować ustawienia zaawansowane.", -1, 70, 155, 150, 36 PUSHBUTTON "&Głośniki...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Z&aawansowane...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/pt-BR.rc b/dll/cpl/mmsys/lang/pt-BR.rc index ea0a8781bde..35229b943e7 100644 --- a/dll/cpl/mmsys/lang/pt-BR.rc +++ b/dll/cpl/mmsys/lang/pt-BR.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Place volume &icon in the taskbar", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "Ad&vanced...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Speaker settings", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Use the settings below to change individual speaker volume and other settings.", -1, 70, 155, 150, 36 PUSHBUTTON "&Speaker Volume...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&dvanced...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/pt-PT.rc b/dll/cpl/mmsys/lang/pt-PT.rc index ef6cb15598b..6e5bc2d1b1e 100644 --- a/dll/cpl/mmsys/lang/pt-PT.rc +++ b/dll/cpl/mmsys/lang/pt-PT.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Colocar um &icone de volume na barra de tarefas", IDC_ICON_IN_TASKBAR, 50, 92, 190, 10 PUSHBUTTON "A&vançadas...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Definições dos altifalantes", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Utilize as definições abaixo, para modificar o volume dos altifalantas individualmente e outras definições.", -1, 70, 155, 150, 36 PUSHBUTTON "&Volume dos altifalantes...", IDC_SPEAKER_VOL_BTN, 60, 195, 85, 15 PUSHBUTTON "Ava&nçadas...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/ro-RO.rc b/dll/cpl/mmsys/lang/ro-RO.rc index 3b4de2876d7..5dbf907fd0a 100644 --- a/dll/cpl/mmsys/lang/ro-RO.rc +++ b/dll/cpl/mmsys/lang/ro-RO.rc @@ -21,7 +21,7 @@ BEGIN AUTOCHECKBOX "Afișează pictogramă în &zona de notificare", IDC_ICON_IN_TASKBAR, 50, 92, 170, 10 PUSHBUTTON "A&vansate…", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Opțiuni difuzoare", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Folosiți opțiunile de mai jos pentru a ajusta volumul fiecărui difuzor în parte sau pentru alte modificări în configurația difuzoarelor.", -1, 70, 155, 150, 36 PUSHBUTTON "V&olum difuzoare…", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Avansat&e…", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/ru-RU.rc b/dll/cpl/mmsys/lang/ru-RU.rc index 504bdeee0a3..16fb46e4152 100644 --- a/dll/cpl/mmsys/lang/ru-RU.rc +++ b/dll/cpl/mmsys/lang/ru-RU.rc @@ -16,7 +16,7 @@ BEGIN AUTOCHECKBOX "Отображать &значок на панели задач", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Дополнительно...", IDC_ADVANCED_BTN, 155, 110, 75, 15 GROUPBOX "Настройки динамиков", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Расположенные ниже кнопки позволяют выполнить индивидуальную настройку громкости динамиков и других параметров.", -1, 70, 155, 150, 36 PUSHBUTTON "Гром&кость...", IDC_SPEAKER_VOL_BTN, 70, 200, 80, 15 PUSHBUTTON "Д&ополнительно...", IDC_ADVANCED2_BTN, 155, 200, 75, 15 diff --git a/dll/cpl/mmsys/lang/sk-SK.rc b/dll/cpl/mmsys/lang/sk-SK.rc index 34541343e58..56ca747f641 100644 --- a/dll/cpl/mmsys/lang/sk-SK.rc +++ b/dll/cpl/mmsys/lang/sk-SK.rc @@ -21,7 +21,7 @@ BEGIN AUTOCHECKBOX "Umiestniť &ikonu hlasitosti na panel úloh", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Spresniť...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Nastavenie reproduktorov", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Tieto možnosti použite na zmenu hlasitosti jednotlivých reproduktorov a iných nastavení.", -1, 70, 155, 150, 36 PUSHBUTTON "&Hlasitosť reproduktorov...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Spr&esniť...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/sq-AL.rc b/dll/cpl/mmsys/lang/sq-AL.rc index c32fd998635..ce222aa16ab 100644 --- a/dll/cpl/mmsys/lang/sq-AL.rc +++ b/dll/cpl/mmsys/lang/sq-AL.rc @@ -20,7 +20,7 @@ BEGIN AUTOCHECKBOX "Vendos &ikonen volumit në tabele", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "A&vancuar...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Konfigurimi Boxeve", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Përdor konfigurimet e mëposhtme për të ndryshuar volumin individual to boxeve dhe konfigurimet të tjera.", -1, 70, 155, 150, 36 PUSHBUTTON "&Volumi boxeve...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "A&dvanced...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/tr-TR.rc b/dll/cpl/mmsys/lang/tr-TR.rc index 33dcf5402df..c862b417c9f 100644 --- a/dll/cpl/mmsys/lang/tr-TR.rc +++ b/dll/cpl/mmsys/lang/tr-TR.rc @@ -18,7 +18,7 @@ BEGIN AUTOCHECKBOX "&Görev çubuğunda ses düzeyi simgesini yerleştir", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "G&elişmiş...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Hoparlör Ayarları", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "Tek hoparlörün, ses düzeyini ve diğer ayarlarını değiştirmek için aşağıdaki ayarları kullanınız.", -1, 70, 155, 150, 36 PUSHBUTTON "&Hoparlör Ses Düzeyi...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Ge&lişmiş...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/uk-UA.rc b/dll/cpl/mmsys/lang/uk-UA.rc index 3a646df7a48..5deffb13d41 100644 --- a/dll/cpl/mmsys/lang/uk-UA.rc +++ b/dll/cpl/mmsys/lang/uk-UA.rc @@ -24,7 +24,7 @@ BEGIN AUTOCHECKBOX "Пока&зувати значок гучності на панелі завдань", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "&Додатково...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "Налаштування динаміків", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "За допомогою розташованих нижче кнопок можна виконати індивідуальну настройку гучності динаміків та інших параметрів.", -1, 70, 155, 150, 36 PUSHBUTTON "&Гучність динаміків...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "Дод&атково...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/zh-CN.rc b/dll/cpl/mmsys/lang/zh-CN.rc index e9c0e9248b1..55d256453a8 100644 --- a/dll/cpl/mmsys/lang/zh-CN.rc +++ b/dll/cpl/mmsys/lang/zh-CN.rc @@ -26,7 +26,7 @@ BEGIN AUTOCHECKBOX "将音量图标放入任务栏(&I)", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "高级(&V)...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "扬声器设置", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "用下列设置更改每个扬声器音量和其他设置。", -1, 70, 155, 150, 36 PUSHBUTTON "扬声器音量(&S)...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "高级(&D)...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/zh-HK.rc b/dll/cpl/mmsys/lang/zh-HK.rc index 7e92d9c3390..df94ee6d62b 100644 --- a/dll/cpl/mmsys/lang/zh-HK.rc +++ b/dll/cpl/mmsys/lang/zh-HK.rc @@ -24,7 +24,7 @@ BEGIN AUTOCHECKBOX "將音量圖示放入工作列(&I)", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "進階(&V)...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "揚聲器設定", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "用下列設定更改每個揚聲器音量和其他設定。", -1, 70, 155, 150, 36 PUSHBUTTON "揚聲器音量(&S)...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "進階(&D)...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/lang/zh-TW.rc b/dll/cpl/mmsys/lang/zh-TW.rc index 60995e92ab4..e91c51ef099 100644 --- a/dll/cpl/mmsys/lang/zh-TW.rc +++ b/dll/cpl/mmsys/lang/zh-TW.rc @@ -24,7 +24,7 @@ BEGIN AUTOCHECKBOX "將音量圖示放入工作列(&I)", IDC_ICON_IN_TASKBAR, 50, 92, 140, 10 PUSHBUTTON "進階(&V)...", IDC_ADVANCED_BTN, 150, 105, 75, 15 GROUPBOX "揚聲器設定", IDC_SPEAKER_SET_BTN, 7, 140, 230, 80, WS_GROUP - CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 4, 155, 70, 70 + CONTROL "", IDC_SPEAKIMG, "Static", SS_OWNERDRAW, 15, 155, 48, 45 LTEXT "用下列設定更改每個揚聲器音量和其他設定。", -1, 70, 155, 150, 36 PUSHBUTTON "揚聲器音量(&S)...", IDC_SPEAKER_VOL_BTN, 70, 195, 75, 15 PUSHBUTTON "進階(&D)...", IDC_ADVANCED2_BTN, 150, 195, 75, 15 diff --git a/dll/cpl/mmsys/mmsys.rc b/dll/cpl/mmsys/mmsys.rc index 82e7997848c..83714428136 100644 --- a/dll/cpl/mmsys/mmsys.rc +++ b/dll/cpl/mmsys/mmsys.rc @@ -57,8 +57,7 @@ IDI_SHUTDOWN_ICON ICON "resources/4394.ico" IDI_PLAY_ICON ICON "resources/play.ico" IDI_STOP_ICON ICON "resources/stop.ico" -/* Bitmaps */ -IDB_SPEAKIMG BITMAP "resources/speaker.bmp" +IDI_SPEAKIMG ICON "resources/speaker.ico" #include <reactos/manifest_hosted.rc> diff --git a/dll/cpl/mmsys/resource.h b/dll/cpl/mmsys/resource.h index bdd843f65c4..8c7a3d919ce 100644 --- a/dll/cpl/mmsys/resource.h +++ b/dll/cpl/mmsys/resource.h @@ -66,7 +66,7 @@ #define IDC_SAVEAS_BTN 5033 #define IDC_DELETE_BTN 5034 -#define IDB_SPEAKIMG 4624 +#define IDI_SPEAKIMG 4624 #define IDC_SPEAKIMG 4625 #define IDC_MUTE_ICON 4626 diff --git a/dll/cpl/mmsys/resources/speaker.bmp b/dll/cpl/mmsys/resources/speaker.bmp deleted file mode 100644 index 98ed0f06584..00000000000 Binary files a/dll/cpl/mmsys/resources/speaker.bmp and /dev/null differ diff --git a/dll/cpl/mmsys/resources/speaker.ico b/dll/cpl/mmsys/resources/speaker.ico new file mode 100644 index 00000000000..548e5d1d44f Binary files /dev/null and b/dll/cpl/mmsys/resources/speaker.ico differ diff --git a/dll/cpl/mmsys/volume.c b/dll/cpl/mmsys/volume.c index f18a9f57b7e..7f4040fcf8b 100644 --- a/dll/cpl/mmsys/volume.c +++ b/dll/cpl/mmsys/volume.c @@ -12,20 +12,13 @@ #include <shellapi.h> -typedef struct _IMGINFO -{ - HBITMAP hBitmap; - INT cxSource; - INT cySource; -} IMGINFO, *PIMGINFO; - - typedef struct _GLOBAL_DATA { HMIXER hMixer; HICON hIconMuted; HICON hIconUnMuted; HICON hIconNoHW; + HICON hIconSpeakImg; LONG muteVal; DWORD muteControlID; @@ -44,30 +37,6 @@ typedef struct _GLOBAL_DATA } GLOBAL_DATA, *PGLOBAL_DATA; -static VOID -InitImageInfo(PIMGINFO ImgInfo) -{ - BITMAP bitmap; - - ZeroMemory(ImgInfo, sizeof(*ImgInfo)); - - ImgInfo->hBitmap = LoadImageW(hApplet, - MAKEINTRESOURCEW(IDB_SPEAKIMG), - IMAGE_BITMAP, - 0, - 0, - LR_DEFAULTCOLOR); - - if (ImgInfo->hBitmap != NULL) - { - GetObjectW(ImgInfo->hBitmap, sizeof(BITMAP), &bitmap); - - ImgInfo->cxSource = bitmap.bmWidth; - ImgInfo->cySource = bitmap.bmHeight; - } -} - - VOID GetMuteControl(PGLOBAL_DATA pGlobalData) { @@ -421,7 +390,7 @@ VolumeDlgProc(HWND hwndDlg, WPARAM wParam, LPARAM lParam) { - static IMGINFO ImgInfo; + static const INT speakImgSize[] = {72, 72}; PGLOBAL_DATA pGlobalData; pGlobalData = (PGLOBAL_DATA)GetWindowLongPtrW(hwndDlg, DWLP_USER); @@ -457,8 +426,13 @@ VolumeDlgProc(HWND hwndDlg, pGlobalData->hIconUnMuted = LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_CPLICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); pGlobalData->hIconMuted = LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_MUTED_ICON), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); pGlobalData->hIconNoHW = LoadImageW(hApplet, MAKEINTRESOURCEW(IDI_NO_HW), IMAGE_ICON, 32, 32, LR_DEFAULTCOLOR); + pGlobalData->hIconSpeakImg = LoadImageW(hApplet, + MAKEINTRESOURCEW(IDI_SPEAKIMG), + IMAGE_ICON, + speakImgSize[0], + speakImgSize[1], + LR_DEFAULTCOLOR); - InitImageInfo(&ImgInfo); InitVolumeControls(hwndDlg, pGlobalData); break; } @@ -469,27 +443,20 @@ VolumeDlgProc(HWND hwndDlg, lpDrawItem = (LPDRAWITEMSTRUCT)lParam; if (lpDrawItem->CtlID == IDC_SPEAKIMG) { - HDC hdcMem; LONG left; /* Position image in centre of dialog */ - left = (lpDrawItem->rcItem.right - ImgInfo.cxSource) / 2; + left = (lpDrawItem->rcItem.right - speakImgSize[0]) / 2; - hdcMem = CreateCompatibleDC(lpDrawItem->hDC); - if (hdcMem != NULL) - { - SelectObject(hdcMem, ImgInfo.hBitmap); - BitBlt(lpDrawItem->hDC, + DrawIconEx(lpDrawItem->hDC, left, lpDrawItem->rcItem.top, - lpDrawItem->rcItem.right - lpDrawItem->rcItem.left, - lpDrawItem->rcItem.bottom - lpDrawItem->rcItem.top, - hdcMem, - 0, + pGlobalData->hIconSpeakImg, + speakImgSize[0], + speakImgSize[1], 0, - SRCCOPY); - DeleteDC(hdcMem); - } + NULL, + DI_NORMAL); } break; } @@ -559,19 +526,23 @@ VolumeDlgProc(HWND hwndDlg, case WM_DESTROY: if (pGlobalData) { - if (pGlobalData->volumeCurrentValues) - HeapFree(GetProcessHeap(), 0, pGlobalData->volumeCurrentValues); + HeapFree(GetProcessHeap(), 0, pGlobalData->volumeCurrentValues); + HeapFree(GetProcessHeap(), 0, pGlobalData->volumePreviousValues); + HeapFree(GetProcessHeap(), 0, pGlobalData->volumeInitialValues); + mixerClose(pGlobalData->hMixer); - if (pGlobalData->volumePreviousValues) - HeapFree(GetProcessHeap(), 0, pGlobalData->volumePreviousValues); + if (pGlobalData->hIconSpeakImg) + DestroyIcon(pGlobalData->hIconSpeakImg); - if (pGlobalData->volumeInitialValues) - HeapFree(GetProcessHeap(), 0, pGlobalData->volumeInitialValues); + if (pGlobalData->hIconNoHW) + DestroyIcon(pGlobalData->hIconNoHW); + + if (pGlobalData->hIconMuted) + DestroyIcon(pGlobalData->hIconMuted); + + if (pGlobalData->hIconUnMuted) + DestroyIcon(pGlobalData->hIconUnMuted); - mixerClose(pGlobalData->hMixer); - DestroyIcon(pGlobalData->hIconMuted); - DestroyIcon(pGlobalData->hIconUnMuted); - DestroyIcon(pGlobalData->hIconNoHW); HeapFree(GetProcessHeap(), 0, pGlobalData); } break;
2 years, 3 months
1
0
0
0
[reactos] 01/01: [DEVMGR] Update Romanian (ro-RO) translation (#4699)
by Andrei Miloiu
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=be04c6358a9ddf3e9c6a1…
commit be04c6358a9ddf3e9c6a169b80ed20e6b7aaa0c7 Author: Andrei Miloiu <miloiuandrei(a)gmail.com> AuthorDate: Sun Sep 25 11:44:41 2022 +0300 Commit: GitHub <noreply(a)github.com> CommitDate: Sun Sep 25 11:44:41 2022 +0300 [DEVMGR] Update Romanian (ro-RO) translation (#4699) Reviewed-by: Ștefan Fulea <stefan.fulea(a)mail.com> Reviewed-by: Stanislav Motylkov <x86corez(a)gmail.com> --- dll/win32/devmgr/lang/ro-RO.rc | 62 ++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 29 deletions(-) diff --git a/dll/win32/devmgr/lang/ro-RO.rc b/dll/win32/devmgr/lang/ro-RO.rc index 5389885daba..22af2d2e240 100644 --- a/dll/win32/devmgr/lang/ro-RO.rc +++ b/dll/win32/devmgr/lang/ro-RO.rc @@ -1,6 +1,10 @@ /* - * Translators: Petru Dimitriu (petrimetri at gmail dot com) - * Ștefan Fulea (stefan dot fulea at mail dot com) + * PROJECT: ReactOS Device Manager + * LICENSE: GPL-2.0-or-later (
https://spdx.org/licenses/GPL-2.0-or-later
) + * PURPOSE: Romanian resource file + * TRANSLATORS: Copyright 2009 Petru Dimitriu <petrimetri(a)gmail.com> + * Copyright 2011-2018 Ștefan Fulea <stefan.fulea(a)mail.com> + * Copyright 2022 Andrei Miloiu <miloiuandrei(a)gmail.com> */ LANGUAGE LANG_ROMANIAN, SUBLANG_NEUTRAL @@ -19,17 +23,17 @@ BEGIN IDS_ENABLEDEVICE "Folosește acest dispozitiv (activare)" IDS_DISABLEDEVICE "Nu folosi acest dispozitiv (dezactivare)" IDS_UNKNOWNDEVICE "Dispozitiv necunoscut" - IDS_NODRIVERLOADED "Pentru acest dispozitiv nu sunt instalate modúle-pilot." + IDS_NODRIVERLOADED "Pentru acest dispozitiv nu sunt instalate module-pilot." IDS_DEVONPARENT "pe %1" IDS_TROUBLESHOOTDEV "&Depanare…" IDS_ENABLEDEV "A&ctivare" IDS_REINSTALLDRV "Reinstalea&ză modulul-pilot" IDS_PROPERTIES "P&roprietăți" - IDS_UPDATEDRV "A&ctualizare modúl-pilot…" + IDS_UPDATEDRV "A&ctualizare modul-pilot…" IDS_REBOOT "Repornire &calculator…" IDS_NOTAVAILABLE "Indisponibil" IDS_NOTDIGITALLYSIGNED "Nesemnat digital" - IDS_NODRIVERS "Fie nu sunt necesare modúle-pilot, fie nu a fost încărcat niciunul." + IDS_NODRIVERS "Fie nu sunt necesare module-pilot, fie nu a fost încărcat niciunul." IDS_RESOURCE_COLUMN "Tip de resursă" IDS_SETTING_COLUMN "Configurație" IDS_RESOURCE_MEMORY_RANGE "Domeniu de memorie" @@ -52,7 +56,7 @@ BEGIN IDS_DEV_FAILED_FILTER "Modulele-pilot pentru acest dispozitiv necesită reinstalare." IDS_DEV_DEVLOADER_NOT_FOUND "Acest dispozitiv nu funcționează corect deoarece nu poate fi pornit mecanismul (ce conține fișierul %1) necesar pentru încărcarea modulelor-pilot." IDS_DEV_DEVLOADER_NOT_FOUND2 "Acest dispozitiv nu funcționează corect deoare fișierul %1 care încarcă modulele-pilot pentru acest dispozitiv, este deteriorat." - IDS_DEV_DEVLOADER_NOT_FOUND3 "Defecțiune dispozitiv: Încercați alte modúle-pilot pentru acest dispozitiv. Dacă problema persistă, consultați documentația din dotare." + IDS_DEV_DEVLOADER_NOT_FOUND3 "Defecțiune dispozitiv: Încercați alte module-pilot pentru acest dispozitiv. Dacă problema persistă, consultați documentația din dotare." IDS_DEV_INVALID_DATA "Acest dispozitiv nu funcționează corect, deoarece BIOS din calculator nu raportează corect resursele dispozitivului." IDS_DEV_INVALID_DATA2 "Acest dispozitiv nu funcționează corect, deoarece BIOS din dispozitiv nu raportează corect resursele dispozitivului. " IDS_DEV_FAILED_START "Acest dispozitiv fie nu este prezent, fie nu funcționează corect, fie nu are instalate toate modulele-pilot." @@ -165,18 +169,18 @@ END IDD_DEVICEDRIVER DIALOGEX 0, 0, 252, 218 STYLE DS_SHELLFONT | WS_CHILD | WS_DISABLED | WS_CAPTION -CAPTION "Modúle-pilot" +CAPTION "Module-pilot" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_DEVICON, 7, 7, 20, 20 LTEXT "", IDC_DEVNAME, 37, 9, 174, 16, SS_NOPREFIX - LTEXT "Furnizor:", -1, 37, 39, 60, 8, SS_NOPREFIX + LTEXT "Furnizor:", -1, 15, 39, 81, 8, SS_NOPREFIX EDITTEXT IDC_DRVPROVIDER, 100, 39, 146, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Dată:", -1, 37, 53, 60, 8, SS_NOPREFIX + LTEXT "Dată:", -1, 15, 53, 80, 8, SS_NOPREFIX EDITTEXT IDC_DRVDATE, 100, 53, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Versiune:", -1, 37, 67, 60, 8, SS_NOPREFIX + LTEXT "Versiunea modulului-pilot:", -1, 15, 67, 82, 8, SS_NOPREFIX EDITTEXT IDC_DRVVERSION, 100, 67, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Semnatar digital:", -1, 37, 81, 60, 8, SS_NOPREFIX + LTEXT "Semnatar digital:", -1, 15, 81, 81, 8, SS_NOPREFIX EDITTEXT IDC_DIGITALSIGNER, 100, 81, 145, 12, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY PUSHBUTTON "&Detalii…", IDC_DRIVERDETAILS, 7, 106, 75, 15 LTEXT "Mai multe detalii despre modulele-pilot.", -1, 91, 110, 154, 17, SS_NOPREFIX @@ -185,12 +189,12 @@ BEGIN PUSHBUTTON "&Restabilește", IDC_ROLLBACKDRIVER, 7, 162, 75, 15 LTEXT "Dacă dispozitivul manifestă disfuncții după actualizarea modulului-pilot, restabiliți o versiune precedentă.", -1, 91, 162, 154, 25, SS_NOPREFIX PUSHBUTTON "De&zinstalează", IDC_UNINSTALLDRIVER, 7, 190, 75, 15 - LTEXT "Pentru a dezinstala un modúl-pilot (opțiuni avansate).", -1, 91, 194, 154, 17, SS_NOPREFIX + LTEXT "Pentru a dezinstala un modul-pilot (opțiuni avansate).", -1, 91, 194, 154, 17, SS_NOPREFIX END IDD_DRIVERDETAILS DIALOGEX 0, 0, 224, 230 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME -CAPTION "Detalii modúl-pilot" +CAPTION "Detaliile modulului-pilot" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_DEVICON, 7, 7, 20, 20 @@ -199,14 +203,14 @@ BEGIN CONTROL "", IDC_DRIVERFILES, "SysListView32", LVS_REPORT | LVS_NOCOLUMNHEADER | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_SHAREIMAGELISTS | LVS_SORTASCENDING | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 7, 46, 209, 80 - LTEXT "Furnizor:", -1, 14, 134, 50, 8 - EDITTEXT IDC_FILEPROVIDER, 66, 134, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Versiune fișier:", -1, 14, 150, 50, 8 - EDITTEXT IDC_FILEVERSION, 66, 150, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Drept de autor:", -1, 14, 166, 50, 8 - EDITTEXT IDC_FILECOPYRIGHT, 66, 166, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY - LTEXT "Semnatar digital:", -1, 14, 182, 50, 8 - EDITTEXT IDC_DIGITALSIGNER, 66, 182, 155, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY + LTEXT "Furnizor:", -1, 10, 134, 63, 8 + EDITTEXT IDC_FILEPROVIDER, 74, 134, 147, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY + LTEXT "Versiunea fișierului:", -1, 10, 150, 63, 8 + EDITTEXT IDC_FILEVERSION, 74, 150, 147, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY + LTEXT "Drept de autor:", -1, 10, 166, 63, 8 + EDITTEXT IDC_FILECOPYRIGHT, 74, 166, 147, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY + LTEXT "Semnatar digital:", -1, 10, 182, 63, 8 + EDITTEXT IDC_DIGITALSIGNER, 74, 182, 147, 8, NOT WS_TABSTOP | NOT WS_BORDER | ES_AUTOHSCROLL | ES_READONLY DEFPUSHBUTTON "Î&nchide", IDOK, 167, 208, 50, 14 END @@ -247,14 +251,14 @@ END IDD_UNINSTALLDRIVER DIALOGEX 0, 0, 224, 121 STYLE DS_SHELLFONT | DS_MODALFRAME | DS_CONTEXTHELP | WS_POPUPWINDOW | WS_VISIBLE | WS_DLGFRAME -CAPTION "Confirm Device Removal" +CAPTION "Confirmați eliminarea dispozitivului" FONT 8, "MS Shell Dlg" BEGIN ICON "", IDC_DEVICON, 7, 7, 20, 20 LTEXT "", IDC_DEVNAME, 40, 9, 174, 16, SS_NOPREFIX - LTEXT "Warning: You are about to uninstall this device from your system.", -1, 7, 37, 204, 50 - DEFPUSHBUTTON "OK", IDOK, 110, 100, 50, 14 - PUSHBUTTON "Cancel", IDCANCEL, 166, 100, 50, 14 + LTEXT "Avertisment: Urmează să dezinstalați acest dispozitiv din sistemul dvs.", -1, 7, 37, 204, 50 + DEFPUSHBUTTON "Confirmă", IDOK, 110, 100, 50, 14 + PUSHBUTTON "Anulează", IDCANCEL, 166, 100, 50, 14 END @@ -298,7 +302,7 @@ BEGIN END STRINGTABLE DISCARDABLE BEGIN - IDS_MENU_UPDATE "Actualizare modúl-pilot…" + IDS_MENU_UPDATE "Actualizare modul-pilot…" IDS_MENU_ENABLE "Activează" IDS_MENU_DISABLE "Dezactivează" IDS_MENU_UNINSTALL "Dezinstalează" @@ -313,7 +317,7 @@ BEGIN IDS_TOOLTIP_SCAN "Scanează configurația fizică" IDS_TOOLTIP_ENABLE "Activează" IDS_TOOLTIP_DISABLE "Dezactivează" - IDS_TOOLTIP_UPDATE "Actualizează modúl-pilot…" + IDS_TOOLTIP_UPDATE "Actualizare modul-pilot…" IDS_TOOLTIP_UNINSTALL "Dezinstalează" END @@ -321,12 +325,12 @@ END STRINGTABLE DISCARDABLE BEGIN IDS_HINT_BLANK " " - IDS_HINT_PROPERTIES " Inspectare proprietăți pentru selecția curentă." + IDS_HINT_PROPERTIES " Inspectarea proprietăților pentru selecția curentă." IDS_HINT_SCAN " Scanare pentru depistarea schimbărilor în configurația sistemului." IDS_HINT_ENABLE " Activare dispozitiv selectat." IDS_HINT_DISABLE " Dezactivare dispozitiv selectat." IDS_HINT_UPDATE " Lansare asistent de actualizare a modulului-pilot pentru dispozitivul selestat." - IDS_HINT_UNINSTALL " Dezinstalare modúl-pilot pentru dispozitivul selectat." + IDS_HINT_UNINSTALL " Dezinstalare modul-pilot pentru dispozitivul selectat." IDS_HINT_ADD " Adăugare dispozitiv non-PNP în calculator." IDS_HINT_ABOUT " Despre Gestionarul de dispozitive." IDS_HINT_EXIT " Ieșire din program."
2 years, 3 months
1
0
0
0
[reactos] 01/01: [FREELDR] Allow to boot from FATX volume using vfatfs driver
by Stanislav Motylkov
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=328cc411920816e5c1de5…
commit 328cc411920816e5c1de5f12dc818fecbdb2767e Author: Stanislav Motylkov <x86corez(a)gmail.com> AuthorDate: Sat Sep 24 16:52:14 2022 +0300 Commit: Stanislav Motylkov <x86corez(a)gmail.com> CommitDate: Sat Sep 24 23:56:10 2022 +0300 [FREELDR] Allow to boot from FATX volume using vfatfs driver Also copy vfatfs.sys to disk in 1st stage setup. CORE-16216 CORE-16329 CORE-16373 --- boot/bootdata/txtsetup.sif | 1 + boot/freeldr/freeldr/lib/fs/fat.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/boot/bootdata/txtsetup.sif b/boot/bootdata/txtsetup.sif index 9b7e35d025e..96c55492e38 100644 --- a/boot/bootdata/txtsetup.sif +++ b/boot/bootdata/txtsetup.sif @@ -124,6 +124,7 @@ pci.sys = 1,,,,,,x,4,,,,1,4 scsiport.sys = 1,,,,,,,4,,,,1,4 storport.sys = 1,,,,,,,4,,,,1,4 fastfat.sys = 1,,,,,,x,4,,,,1,4 +vfatfs.sys = 1,,,,,,,4,,,,1,4 btrfs.sys = 1,,,,,,x,4,,,,1,4 ramdisk.sys = 1,,,,,,x,4,,,,1,4 pciide.sys = 1,,,,,,,4,,,,1,4 diff --git a/boot/freeldr/freeldr/lib/fs/fat.c b/boot/freeldr/freeldr/lib/fs/fat.c index bcbc26123a6..a7495f17770 100644 --- a/boot/freeldr/freeldr/lib/fs/fat.c +++ b/boot/freeldr/freeldr/lib/fs/fat.c @@ -1547,6 +1547,16 @@ const DEVVTBL FatFuncTable = L"fastfat", }; +const DEVVTBL FatXFuncTable = +{ + FatClose, + FatGetFileInformation, + FatOpen, + FatRead, + FatSeek, + L"vfatfs", +}; + const DEVVTBL* FatMount(ULONG DeviceId) { PFAT_VOLUME_INFO Volume; @@ -1634,5 +1644,5 @@ const DEVVTBL* FatMount(ULONG DeviceId) // Return success // TRACE("FatMount(%lu) success\n", DeviceId); - return &FatFuncTable; + return (ISFATX(Volume->FatType) ? &FatXFuncTable : &FatFuncTable); }
2 years, 3 months
1
0
0
0
← Newer
1
2
3
4
5
6
...
15
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Results per page:
10
25
50
100
200