diff --git a/src/sys/driver.h b/src/sys/driver.h index 9326a43c..b9ea2850 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -1639,7 +1639,22 @@ LOGICAL RtlEqualMemory(const VOID *Source1, const VOID *Source2, SIZE_T Length) return Length == RtlCompareMemory(Source1, Source2, Length); } -typedef struct _FILE_STAT_LX_INFORMATION +/* FILE_STAT_INFORMATION and FILE_STAT_LX_INFORMATION are missings on some WDK's. */ +typedef struct +{ + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; + ULONG ReparseTag; + ULONG NumberOfLinks; + ACCESS_MASK EffectiveAccess; +} FSP_FILE_STAT_INFORMATION, *PFSP_FILE_STAT_INFORMATION; +typedef struct { LARGE_INTEGER FileId; LARGE_INTEGER CreationTime; @@ -1658,5 +1673,5 @@ typedef struct _FILE_STAT_LX_INFORMATION ULONG LxMode; ULONG LxDeviceIdMajor; ULONG LxDeviceIdMinor; -} FILE_STAT_LX_INFORMATION, *PFILE_STAT_LX_INFORMATION; +} FSP_FILE_STAT_LX_INFORMATION, *PFSP_FILE_STAT_LX_INFORMATION; #endif diff --git a/src/sys/fileinfo.c b/src/sys/fileinfo.c index 690a0feb..3398d532 100644 --- a/src/sys/fileinfo.c +++ b/src/sys/fileinfo.c @@ -435,7 +435,7 @@ static NTSTATUS FspFsvolQueryStatInformation(PFILE_OBJECT FileObject, { PAGED_CODE(); - PFILE_STAT_INFORMATION Info = (PFILE_STAT_INFORMATION)*PBuffer; + PFSP_FILE_STAT_INFORMATION Info = (PFSP_FILE_STAT_INFORMATION)*PBuffer; FSP_FILE_NODE *FileNode = FileObject->FsContext; FSP_FILE_DESC *FileDesc = FileObject->FsContext2; @@ -473,7 +473,7 @@ static NTSTATUS FspFsvolQueryStatLxInformation(PFILE_OBJECT FileObject, { PAGED_CODE(); - PFILE_STAT_LX_INFORMATION Info = (PFILE_STAT_LX_INFORMATION)*PBuffer; + PFSP_FILE_STAT_LX_INFORMATION Info = (PFSP_FILE_STAT_LX_INFORMATION)*PBuffer; FSP_FILE_NODE *FileNode = FileObject->FsContext; FSP_FILE_DESC *FileDesc = FileObject->FsContext2; @@ -528,7 +528,7 @@ static NTSTATUS FspFsvolQueryStatLxInformationEa( PAGED_CODE(); FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject); - PFILE_STAT_LX_INFORMATION Info = (PFILE_STAT_LX_INFORMATION)*PBuffer; + PFSP_FILE_STAT_LX_INFORMATION Info = (PFSP_FILE_STAT_LX_INFORMATION)*PBuffer; union { FILE_GET_EA_INFORMATION V;