You've handled *a* successful case, but what about the error case?
As i said already in the mail with the patch, it might be *a* case, but this is the case that most apps will follow as far as i can see. Futhermore, when apps are really crashing into the other cases, it can be added later on i.m.o. For now they will just fall back to the current "implementation", returning "not implmented" then, so there will be no differnce with current behaviour.
+ { + lstrcpynW(volumepathname,filename,4); + return TRUE; + }
Also, you're copying 4 bytes of filename into volumepathname. I don't think you understand what lstrcpyn does. Imagine this case:
volumepathname = "aaaaaaaa" buflen = 8 filename = "C:\file"
After the call to lstrcpyn:
volumepathname = "C:\faaaa"
MSDN says volumepathname was a pointer to an "out" - string, so how would it become someting like "aaaaaa", or am i overseeing something?
Send instant messages to your online friends http://uk.messenger.yahoo.com