Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/tests/uiautomation.c:
+ /* + * Conversion from native int array to VT_I4 SAFEARRAY. + */ + sa = NULL; + hr = IUIAutomation_IntNativeArrayToSafeArray(uia_iface, in_arr, ARRAY_SIZE(in_arr), &sa); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + + hr = SafeArrayGetVartype(sa, &vt); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + ok(vt == VT_I4, "Unexpected vt %d.\n", vt); + + dims = SafeArrayGetDim(sa); + ok(dims == 1, "Unexpected array dims %d\n", dims); + + hr = SafeArrayGetLBound(sa, 1, &lbound); + ok(hr == S_OK, "Failed to get LBound with hr %#lx\n", hr); I think it would make sense to check `lbound` here.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2269#note_25433