Francois Gouget : pdh: Update PdhAddEnglishCounterA/W() to match Windows 10 >= 2004.

Alexandre Julliard julliard at winehq.org
Tue Jun 22 16:17:06 CDT 2021


Module: wine
Branch: master
Commit: 071292bedd888b4cb3c690b40e5bb04cac7b65ef
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=071292bedd888b4cb3c690b40e5bb04cac7b65ef

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Tue Jun 22 12:03:21 2021 +0200

pdh: Update PdhAddEnglishCounterA/W() to match Windows 10 >= 2004.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/pdh/pdh_main.c  | 6 ++++--
 dlls/pdh/tests/pdh.c | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c
index 73d4fef2a14..3840b9d0288 100644
--- a/dlls/pdh/pdh_main.c
+++ b/dlls/pdh/pdh_main.c
@@ -284,7 +284,8 @@ PDH_STATUS WINAPI PdhAddEnglishCounterA( PDH_HQUERY query, LPCSTR path,
 {
     TRACE("%p %s %lx %p\n", query, debugstr_a(path), userdata, counter);
 
-    if (!query) return PDH_INVALID_ARGUMENT;
+    if (!counter) return PDH_INVALID_ARGUMENT;
+    if (!query) return PDH_INVALID_HANDLE;
     return PdhAddCounterA( query, path, userdata, counter );
 }
 
@@ -296,7 +297,8 @@ PDH_STATUS WINAPI PdhAddEnglishCounterW( PDH_HQUERY query, LPCWSTR path,
 {
     TRACE("%p %s %lx %p\n", query, debugstr_w(path), userdata, counter);
 
-    if (!query) return PDH_INVALID_ARGUMENT;
+    if (!counter) return PDH_INVALID_ARGUMENT;
+    if (!query) return PDH_INVALID_HANDLE;
     return PdhAddCounterW( query, path, userdata, counter );
 }
 
diff --git a/dlls/pdh/tests/pdh.c b/dlls/pdh/tests/pdh.c
index 71603f8c6ba..8165f32f50a 100644
--- a/dlls/pdh/tests/pdh.c
+++ b/dlls/pdh/tests/pdh.c
@@ -240,7 +240,8 @@ static void test_PdhAddEnglishCounterA( void )
     ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterA failed 0x%08x\n", ret);
 
     ret = pPdhAddEnglishCounterA( NULL, "\\System\\System Up Time", 0, &counter );
-    ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterA failed 0x%08x\n", ret);
+    ok(ret == PDH_INVALID_HANDLE || broken(ret == PDH_INVALID_ARGUMENT) /* win10 <= 1909 */,
+       "PdhAddEnglishCounterA failed 0x%08x\n", ret);
 
     ret = pPdhAddEnglishCounterA( query, NULL, 0, &counter );
     ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterA failed 0x%08x\n", ret);
@@ -281,7 +282,8 @@ static void test_PdhAddEnglishCounterW( void )
     ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterW failed 0x%08x\n", ret);
 
     ret = pPdhAddEnglishCounterW( NULL, system_uptime, 0, &counter );
-    ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterW failed 0x%08x\n", ret);
+    ok(ret == PDH_INVALID_HANDLE || broken(ret == PDH_INVALID_ARGUMENT) /* win10 <= 1909 */,
+       "PdhAddEnglishCounterW failed 0x%08x\n", ret);
 
     ret = pPdhAddEnglishCounterW( query, NULL, 0, &counter );
     ok(ret == PDH_INVALID_ARGUMENT, "PdhAddEnglishCounterW failed 0x%08x\n", ret);




More information about the wine-cvs mailing list