From: "Chip Davis" Subject: Re: [PATCH v3 2/6] kernelbase: Return the volume serial number in GetFileInformationByHandle(). Message-Id: Date: Thu, 09 Apr 2020 16:24:48 +0000 In-Reply-To: <86e9b635-a356-7100-eb97-5ad59b8f98a4@codeweavers.com> References: <86e9b635-a356-7100-eb97-5ad59b8f98a4@codeweavers.com> <20200408210607.1235092-2-zfigura@codeweavers.com> <20200408210607.1235092-1-zfigura@codeweavers.com> <529f2bb43f2673b65a27ec2b1e55a605@codeweavers.com> April 9, 2020 10:03 AM, "Zebediah Figura" wrote: > On 4/9/20 1:37 AM, Chip Davis wrote: > >> 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)? > > I could, but does it matter? Not really. Chip