From: Austin English Subject: kernel32: add GetVolumeInformationByHandleW stub (try 3) Message-Id: Date: Mon, 20 Mar 2017 13:56:55 -0500 CC: Andrew Eikum 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 Date: Wed, 6 Apr 2016 17:34:40 -0500 Subject: [PATCH] kernel32: add GetVolumeInformationByHandleW stub (try 3) Signed-off-by: Austin English --- 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