[PATCH][kernel32.dll] quick and dirty implementation of GetVolumePathNamesForVolumeNameA (try 2)

Tuomo Mattila tuomom at xob.kapsi.fi
Fri Jul 2 03:12:48 CDT 2010


On Thu, Jul 01, 2010 at 12:17:54PM -0700, James Mckenzie wrote:
> 
> Why not just do the check and then pass it as a Wide to the 'W' function?  
> 
> Simpler and less code to maintain/update?
> 

Yes, that would be consistent with the other functions. I was planning that as the next step since the wide version is also unimplemented and it seemed simpler  to just write the ANSI version at first.
However, as the wide version already had a stub (unlike the ANSI version), implementing it could actually cause regressions if I did it wrong. So more testing required.
Calling the ANSI version as it was would always cause an unhandled exception.

 -Tuomo

> 
> Tuomo Mattila <tuomom at ee.oulu.fi> wrote:
> >+
> >+
> >+    FIXME("(%s, %p, %d, %p), stub!\n", debugstr_a(volumename), volumepathname, buflen, returnlen);
> 
> If this is not a full implementation, you need to state so, otherwise this goes....

> 
> >+
> >+    if (volumename == 0 || volumepathname == 0 || returnlen == 0)
> >+    {
> >+        SetLastError(RPC_X_NULL_REF_POINTER);
> >+        return FALSE;
> >+    }
> 
> At this point you should convert to Wide/UNICODE and pass to the W function.  Pass the return from the W call back to the caller.
> 
> >+
> >+    return TRUE;
> >+}
> >+
> >+/***********************************************************************
> >  *           GetVolumePathNamesForVolumeNameW   (KERNEL32.@)
> >  */
> > BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR volumename, LPWSTR volumepathname, DWORD buflen, PDWORD returnlen)
> >-- 
> >1.7.1
> >
> >
> >
> 

-- 
  Tuomo Mattila
  +358503381288
  Tupeco at IRCNet




More information about the wine-devel mailing list