crypt32: remove 'recursive registry key delete' function

Paul Vriens paul.vriens.wine at gmail.com
Sun Jun 3 08:20:26 CDT 2007


On 6/3/07, Stefan Leichter <Stefan.Leichter at camline.com> wrote:
> Am Saturday 02 June 2007 12:03 schrieb Paul Vriens:
> > On 6/1/07, Stefan Leichter <Stefan.Leichter at camline.com> wrote:
> > > ChangeLog
> > > ---------
> > >         replace CRYPT_RecurseDeleteKey with RegDeleteTreeW
> >
> > Hi Stefan,
> >
> > I don't think that's enough. There's a difference between SHDeleteKeyW
> > and RegDeleteTreeW (see also
> > http://wiki.winehq.org/RecursiveRegistryKeyDelete, but I guess that's
> > a known page to you). Basically you have to remove the key itself as
> > well.
> >
> > Cheers,
> >
> > Paul.
> Hello Paul,
>
> i think the comment is wrong. The removed function does not behave like
> SHDeleteKeyW. If you look at the removed code the key itself is not removed.
> At least i don't see the place where. But you are welcome to tell me where.
>
> Bye Stefan
>
Hi Stefan,

Apparantly I got it all wrong from the start. (MSDN confused me....
again). The text on MSDN for SHDeleteKeyW says it also deletes the
key, the text for RegDeleteTree misses that part which led me to
believe there was a difference.

Our (your) tests show however that RegDeleteTree also deletes the key itself.

You're patch is correct in that respect and doesn't the last part of
the code remove the key itself ?:

        RegCloseKey(hSubKey);
        if (!dwRet)
            dwRet = RegDeleteKeyW(hKey, lpszSubKey);


I will adjust the wiki page.

Cheers,

Paul.



More information about the wine-devel mailing list