Matteo Bruni (@Mystral) commented about dlls/d3dx9_36/tests/effect.c:
+ if (result_buf) + { + memset( result_buf, '\0', test_set_raw_data_values[x].expected_data_len ); + hr = effect->lpVtbl->SetRawValue( effect, + effect->lpVtbl->GetParameterByName( effect, NULL, test_set_raw_data_values[x].param_name ), + test_set_raw_data_values[x].param_data, + test_set_raw_data_values[x].offset, + test_set_raw_data_values[x].param_data_len ); + ok( hr == test_set_raw_data_values[x].expected_result, + "Test # %#1.1x var name %s : got HRESULT %#1.1x, expected %#1.1x.\n", x, + test_set_raw_data_values[x].param_name, hr, + test_set_raw_data_values[x].expected_result ); + effect->lpVtbl->GetValue( effect, + effect->lpVtbl->GetParameterByName( effect, NULL, test_set_raw_data_values[x].param_name ), + result_buf, + test_set_raw_data_values[x].expected_data_len ); Please check the return value with ok(). I suspect this might play a role in your weird string test results.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/979#note_11097