https://bugs.winehq.org/show_bug.cgi?id=53766
--- Comment #3 from Jason Millard jsm174@gmail.com --- The port of Visual Pinball that I am working on, does not use the typelib.
I've made a tool that generates GetIDsOfNames and Invoke methods.
https://github.com/vpinball/vpinball/blob/1639b9923a41d0c1ccd03010131e970768...
https://github.com/vpinball/vpinball/blob/1639b9923a41d0c1ccd03010131e970768...
I just tried switching VT_SAFEARRAY to VT_VARIANT | VT_ARRAY and it seems to be working!
V_VT(pVarResult) = VT_SAFEARRAY; hr = GetBalls((SAFEARRAY**)&V_ARRAY(pVarResult));
to
V_VT(pVarResult) = VT_VARIANT | VT_ARRAY; hr = GetBalls((SAFEARRAY**)&V_ARRAY(pVarResult));
I apologize as this is not a bug after all.