https://bugs.winehq.org/show_bug.cgi?id=54618
Bug ID: 54618 Summary: unimplemented function pdh.dll.PdhVbGetDoubleCounterValue called in 32-bit code (0x7b012896). Product: Wine Version: 8.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: pdh Assignee: wine-bugs@winehq.org Reporter: andrewemt@hotmail.com Distribution: ---
Created attachment 74144 --> https://bugs.winehq.org/attachment.cgi?id=74144 stack trace reported by Wine for pdh.dll missing function exception
On my Fedora Core 37 system, updated to latest Wine in Fedora repos (wine-core 8.2-3, both i686 and x86_64 variants) as of 4 March 2023, attempted to execute ham radio app VARAFM.EXE (version 4.2.8) after using winetricks 20220411-2 (also from Fedora 37 repo) to install vb6run. VARAFM crashed with exception in bug title: unimplemented function pdh.dll.PdhVbGetDoubleCounterValue called in 32-bit code (0x7b012896).
https://bugs.winehq.org/show_bug.cgi?id=54618
Mohamad Al-Jaf mowinebugs@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mowinebugs@mail.com
--- Comment #1 from Mohamad Al-Jaf mowinebugs@mail.com --- Created attachment 74160 --> https://bugs.winehq.org/attachment.cgi?id=74160 Implement PdhVbGetDoubleCounterValue
Hi Andrew,
I implemented this function a while ago for this same program but didn't add tests. I've attached the patch, which makes the program work for me. Let me know if it works for you.
I'll submit an MR later once I've added tests.
https://bugs.winehq.org/show_bug.cgi?id=54618
--- Comment #2 from Mohamad Al-Jaf mowinebugs@mail.com --- Comment on attachment 74160 --> https://bugs.winehq.org/attachment.cgi?id=74160 Implement PdhVbGetDoubleCounterValue
From 482b428ad04345fc9bd2d5dd44247d36bb743b3e Mon Sep 17 00:00:00 2001 From: Mohamad Al-Jaf mohamadaljaf@gmail.com Date: Tue, 1 Nov 2022 20:49:00 -0500 Subject: [PATCH 1/2] pdh: Implement PdhVbGetDoubleCounterValue().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54618
dlls/pdh/pdh.spec | 2 +- dlls/pdh/pdh_main.c | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/dlls/pdh/pdh.spec b/dlls/pdh/pdh.spec index 5f61a8a42ca..c4a32f0cc08 100644 --- a/dlls/pdh/pdh.spec +++ b/dlls/pdh/pdh.spec @@ -145,7 +145,7 @@ @ stub PdhVbCreateCounterPathList @ stub PdhVbGetCounterPathElements @ stub PdhVbGetCounterPathFromList -@ stub PdhVbGetDoubleCounterValue +@ stdcall PdhVbGetDoubleCounterValue(long ptr) @ stub PdhVbGetLogFileSize @ stub PdhVbGetOneCounterPath @ stub PdhVbIsGoodStatus diff --git a/dlls/pdh/pdh_main.c b/dlls/pdh/pdh_main.c index 7eae7872b48..de59ec727cf 100644 --- a/dlls/pdh/pdh_main.c +++ b/dlls/pdh/pdh_main.c @@ -1062,6 +1062,22 @@ PDH_STATUS WINAPI PdhVbAddCounter( PDH_HQUERY query, LPCSTR path, PDH_HCOUNTER * return PDH_NOT_IMPLEMENTED; }
+/***********************************************************************
PdhVbGetDoubleCounterValue (PDH.@)
- */
+double WINAPI PdhVbGetDoubleCounterValue( LONG handle, LONG *counter_status ) +{
- PDH_FMT_COUNTERVALUE value;
- PDH_STATUS status;
- TRACE( "%ld %p\n", handle, counter_status );
- status = PdhGetFormattedCounterValue( UlongToPtr(handle), PDH_FMT_DOUBLE, NULL, &value );
- if (counter_status) *counter_status = ( status == ERROR_SUCCESS ) ? value.CStatus : status;
- return status == ERROR_SUCCESS && ( value.CStatus == PDH_CSTATUS_VALID_DATA || value.CStatus == PDH_CSTATUS_NEW_DATA ) ? value.u.doubleValue : 0.0;
+}
/***********************************************************************
PdhValidatePathExA (PDH.@)
*/
2.39.2
https://bugs.winehq.org/show_bug.cgi?id=54618
Mohamad Al-Jaf mowinebugs@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #74160|0 |1 is obsolete| |
--- Comment #3 from Mohamad Al-Jaf mowinebugs@mail.com --- Created attachment 74161 --> https://bugs.winehq.org/attachment.cgi?id=74161 Implement PdhVbGetDoubleCounterValue
Meant to modify the file itself, but I guess it's not possible here. Disregard the previous patch, it won't build. This one should work.
https://bugs.winehq.org/show_bug.cgi?id=54618
--- Comment #4 from Mohamad Al-Jaf mowinebugs@mail.com --- Fixed in commit e1c59cc5621a8d3420fc30314fd8daa5c6e55a26
https://gitlab.winehq.org/wine/wine/-/commit/e1c59cc5621a8d3420fc30314fd8daa...
Also, the title should probably be changed to something like "VARA FM crashes on unimplemented function pdh.dll.PdhVbGetDoubleCounterValue"
https://bugs.winehq.org/show_bug.cgi?id=54618
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED CC| |infyquest@gmail.com Fixed by SHA1| |e1c59cc5621a8d3420fc30314fd | |8daa5c6e55a26
--- Comment #5 from Vijay Kamuju infyquest@gmail.com --- Fixed by commit e1c59cc5621a8d3420fc30314fd8daa5c6e55a26
Present in wine 8.4
https://bugs.winehq.org/show_bug.cgi?id=54618
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|unimplemented function |VARA FM crashes on |pdh.dll.PdhVbGetDoubleCount |unimplemented function |erValue called in 32-bit |pdh.dll.PdhVbGetDoubleCount |code (0x7b012896). |erValue
https://bugs.winehq.org/show_bug.cgi?id=54618
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #6 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.5.
https://bugs.winehq.org/show_bug.cgi?id=54618
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0.x
https://bugs.winehq.org/show_bug.cgi?id=54618
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|8.0.x |---
--- Comment #7 from Michael Stefaniuc mstefani@winehq.org --- Removing the 8.0.x milestone from bug fixes included in 8.0.2.