Am Dienstag, 24. Mai 2005 17:10 schrieb Juan Lang:
Hi Stefan,
--- Stefan Dösiner stefandoesinger@gmx.at wrote:
How do I handle apidl == NULL? As far as I understand, apidl specifies a list of folders/files to be checked, right? If apidl == 0, what folder should I check. Is there some 'current folder' in the IShellFolder class? I didn't find any.
Right, apidl can't be NULL if cidl is nonzero. If cidl is zero, you probably need the check to be in the caller. E.g. in shfldr_fs.c, the current folder is what calls SHELL32_GetItemAttributes, from IShellFolder_fnGetAttributesOf. Perhaps the dwAttributes member that's passed to InitializeEx sets the correct attributes for the current folder? I'm not sure.
This->pidlRoot looks promissing
Checking against This->pidlRoot makes writing work. On an write-protected folder, this check still succeeds(the read-only flag is removed). Perhaps a test with windows is needed. If I try to write to an write-protected folder in win2k, Windows simply ingores the write protection. Under Wine there's an error later on if the file can't be written to.
Is the attached patch correct? I am not sure because I don't know much about these things, so I am not submitting it to wine-patches yet. Any suggestions?
Stefan