From: "Chip Davis" Subject: Re: [PATCH v3 2/6] kernelbase: Return the volume serial number in GetFileInformationByHandle(). Message-Id: <529f2bb43f2673b65a27ec2b1e55a605@codeweavers.com> Date: Thu, 09 Apr 2020 06:37:38 +0000 In-Reply-To: <20200408210607.1235092-2-zfigura@codeweavers.com> References: <20200408210607.1235092-2-zfigura@codeweavers.com> <20200408210607.1235092-1-zfigura@codeweavers.com> April 8, 2020 4:06 PM, "Zebediah Figura" wrote: > diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c > index 18b86820367..9ca184a5d04 100644 > --- a/dlls/kernelbase/file.c > +++ b/dlls/kernelbase/file.c > @@ -2216,12 +2217,17 @@ BOOL WINAPI DECLSPEC_HOTPATCH GetFileInformationByHandle( HANDLE file, BY_HANDLE > info->ftLastAccessTime.dwLowDateTime = all_info.BasicInformation.LastAccessTime.u.LowPart; > info->ftLastWriteTime.dwHighDateTime = all_info.BasicInformation.LastWriteTime.u.HighPart; > info->ftLastWriteTime.dwLowDateTime = all_info.BasicInformation.LastWriteTime.u.LowPart; > - info->dwVolumeSerialNumber = 0; /* FIXME */ > + info->dwVolumeSerialNumber = 0; > info->nFileSizeHigh = all_info.StandardInformation.EndOfFile.u.HighPart; > info->nFileSizeLow = all_info.StandardInformation.EndOfFile.u.LowPart; > info->nNumberOfLinks = all_info.StandardInformation.NumberOfLinks; > info->nFileIndexHigh = all_info.InternalInformation.IndexNumber.u.HighPart; > info->nFileIndexLow = all_info.InternalInformation.IndexNumber.u.LowPart; > + > + status = NtQueryVolumeInformationFile( file, &io, &volume_info, sizeof(volume_info), FileFsVolumeInformation ); Why aren't you using NtQueryInformationFile(FileIdInformation) instead of NtQueryVolumeInformationFile(FileFsVolumeInformation)? Chip