Tony Lambregts <[EMAIL PROTECTED]> writes:

> +    len = WideCharToMultiByte(CP_ACP, 0, nameW, -1, NULL, 0, NULL, NULL);
> +    nameA = HeapAlloc(GetProcessHeap(), 0, len);
> +    WideCharToMultiByte(CP_ACP, 0, nameW, -1, nameA, len, NULL, NULL);
> +    
>      for (;;)
>      {
> -        sprintf( name, "reg%04x.tmp", count++ );
> -        handle = CreateFileA( buffer, GENERIC_WRITE, 0, NULL,
> +        sprintf( nameA, "reg%04x.tmp", count++ );
> +        handle = CreateFileW( buffer, GENERIC_WRITE, 0, NULL,

This can't work, the sprintf is supposed to modify the buffer, not a
copy of it.

Also note that registry functions are not supposed to set last error,
so you probably don't want to use Dmitry's wrapper here.

-- 
Alexandre Julliard
[EMAIL PROTECTED]

Reply via email to