kernel32: add GetVolumeInformationByHandleW stub (try 3)

Andrew Eikum aeikum at codeweavers.com
Mon Mar 20 14:54:14 CDT 2017


Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>

On Mon, Mar 20, 2017 at 01:56:55PM -0500, Austin English wrote:
> CC: Andrew Eikum <aeikum at codeweavers.com>
> 
> For https://bugs.winehq.org/show_bug.cgi?id=32925
> 
> -- 
> -Austin
> GPG: 14FB D7EA A041 937B

> From 650cb34059652700fce80d78a53a382909133379 Mon Sep 17 00:00:00 2001
> From: Austin English <austinenglish at gmail.com>
> Date: Wed, 6 Apr 2016 17:34:40 -0500
> Subject: [PATCH] kernel32: add GetVolumeInformationByHandleW stub (try 3)
> 
> Signed-off-by: Austin English <austinenglish at gmail.com>
> ---
>  dlls/kernel32/kernel32.spec |  2 +-
>  dlls/kernel32/volume.c      | 22 ++++++++++++++++++++++
>  include/winbase.h           |  1 +
>  3 files changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
> index a144fd1..31ce456 100644
> --- a/dlls/kernel32/kernel32.spec
> +++ b/dlls/kernel32/kernel32.spec
> @@ -877,7 +877,7 @@
>  @ stdcall GetVersionExA(ptr)
>  @ stdcall GetVersionExW(ptr)
>  @ stdcall GetVolumeInformationA(str ptr long ptr ptr ptr ptr long)
> -# @ stub GetVolumeInformationByHandleW
> +@ stdcall GetVolumeInformationByHandleW(ptr ptr long ptr ptr ptr ptr long)
>  @ stdcall GetVolumeInformationW(wstr ptr long ptr ptr ptr ptr long)
>  @ stdcall GetVolumeNameForVolumeMountPointA(str ptr long)
>  @ stdcall GetVolumeNameForVolumeMountPointW(wstr ptr long)
> diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
> index 68cc762..92bcf53 100644
> --- a/dlls/kernel32/volume.c
> +++ b/dlls/kernel32/volume.c
> @@ -2309,3 +2309,25 @@ BOOL WINAPI SetVolumeMountPointW(LPCWSTR path, LPCWSTR volume)
>      SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
>      return FALSE;
>  }
> +
> +/***********************************************************************
> + *           GetVolumeInformationByHandleW (KERNEL32.@)
> + */
> +BOOL WINAPI GetVolumeInformationByHandleW(HANDLE handle, WCHAR *volnamebuf, DWORD volnamesize, DWORD *volserial, DWORD *maxlength, DWORD *flags, WCHAR *fsnamebuf, DWORD fsnamesize)
> +{
> +    FIXME("%p %p %d %p %p %p %p %d\n", handle, volnamebuf, volnamesize, volserial, maxlength, flags, fsnamebuf, fsnamesize);
> +
> +    if(volnamebuf && volnamesize)
> +        *volnamebuf = 0;
> +    if(volserial)
> +        *volserial = 0;
> +    if(maxlength)
> +        *maxlength = 0;
> +    if(flags)
> +        *flags = 0;
> +    if(fsnamebuf && fsnamesize)
> +        *fsnamebuf = 0;
> +
> +    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
> +    return FALSE;
> +}
> diff --git a/include/winbase.h b/include/winbase.h
> index 2345443..894156c 100644
> --- a/include/winbase.h
> +++ b/include/winbase.h
> @@ -2217,6 +2217,7 @@ WINBASEAPI BOOL        WINAPI GetVersionExW(OSVERSIONINFOW*);
>  WINBASEAPI BOOL        WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
>  WINBASEAPI BOOL        WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
>  #define                       GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
> +WINBASEAPI BOOL        WINAPI GetVolumeInformationByHandleW(HANDLE,WCHAR *,DWORD,DWORD *,DWORD *,DWORD *,WCHAR *,DWORD);
>  WINBASEAPI BOOL        WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
>  WINBASEAPI BOOL        WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
>  #define                       GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
> -- 
> 2.10.2
> 




More information about the wine-patches mailing list