RFR: 8307145: windowsaccessbridge.dll is missing 4 critical methods in its C API

Julian Waters jwaters at openjdk.org
Fri May 5 15:07:08 UTC 2023


On Fri, 5 May 2023 14:57:27 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

> FWIW, this is what dumpbin displays for these entries:
> 
> ```
>           1    2 0000351C addAccessibilityEventNotification = ?addAccessibilityEventNotification at WinAccessBridge@@QEAAX_J at Z (public: void __cdecl WinAccessBridge::addAccessibilityEventNotification(__int64))
>           2    4 00003628 addJavaEventNotification = ?addJavaEventNotification at WinAccessBridge@@QEAAX_J at Z (public: void __cdecl WinAccessBridge::addJavaEventNotification(__int64))
>           3   42 00006D94 removeAccessibilityEventNotification = ?removeAccessibilityEventNotification at WinAccessBridge@@QEAAX_J at Z (public: void __cdecl WinAccessBridge::removeAccessibilityEventNotification(__int64))
>           4   44 00006EA0 removeJavaEventNotification = ?removeJavaEventNotification at WinAccessBridge@@QEAAX_J at Z (public: void __cdecl WinAccessBridge::removeJavaEventNotification(__int64))
> ```
> 
> There's no way to get a pointer to an instance of `WinAccessBridge` using the supported interface, and calling these methods with garbage value for `this` would likely crash.

Dear lord, the Microsoft linker is truly cursed, through and through

@prrace What sort of testing would need to be done for such a change?

-------------

PR Comment: https://git.openjdk.org/jdk/pull/13734#issuecomment-1536396606



More information about the client-libs-dev mailing list