[2/7] dxdiagn: Fix return and output behavior of IDxDiagContainer::EnumChildContainerNames.

Andrew Nguyen arethusa26 at gmail.com
Sat Mar 13 13:11:07 CST 2010


On Sat, Mar 13, 2010 at 12:27 PM, Paul Vriens
<paul.vriens.wine at gmail.com> wrote:
> On 03/13/2010 05:19 PM, Andrew Nguyen wrote:
>>
>> +    /* Test the conditions in which the output buffer can be modified. */
>> +    lstrcpyW(container, testW);
>> +    hr = IDxDiagContainer_EnumChildContainerNames(pddc, 0, container, 0);
>> +    ok(hr == E_INVALIDARG,
>> +       "Expected IDxDiagContainer::EnumChildContainerNames to return
>> E_INVALIDARG, got 0x%08x\n", hr);
>> +    ok(!lstrcmpW(container, testW),
>> +       "Expected the container buffer to be untouched, got %s\n",
>> wine_dbgstr_w(container));
>
> Hi Andrew,
>
> This won't work on Win9x/WinMe as most of these W-functions are not
> available. lstrcpyW will fail and I don't know what that would mean for the
> Enum-call (with an unitialized 'container'). lstrcmpW will always return 0
> on Win9x/WinMe and thus these tests will always succeed.
>
> There is a generic winetest_strcmpW now btw (include/wine/test.h)
>
> --
> Cheers,
>
> Paul.
>

Thanks for your input. Apart from changing the tests to use memcpy and
related functions, is there any other way to get Unicode string
functionality that is Win9x compatible? Patch 5 of the series uses
wsprintfW from user32 to achieve sprintf functionality for Unicode
strings, and I figure that probably wouldn't work on Win9x platforms
either.



More information about the wine-devel mailing list