sys: define FSP_FILE_STAT*_INFORMATION that are missing on some WDK's

This commit is contained in:
Bill Zissimopoulos 2019-04-16 15:55:13 -07:00
parent ce83619728
commit 851d0758d9
2 changed files with 20 additions and 5 deletions

View File

@ -1639,7 +1639,22 @@ LOGICAL RtlEqualMemory(const VOID *Source1, const VOID *Source2, SIZE_T Length)
return Length == RtlCompareMemory(Source1, Source2, 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 FileId;
LARGE_INTEGER CreationTime; LARGE_INTEGER CreationTime;
@ -1658,5 +1673,5 @@ typedef struct _FILE_STAT_LX_INFORMATION
ULONG LxMode; ULONG LxMode;
ULONG LxDeviceIdMajor; ULONG LxDeviceIdMajor;
ULONG LxDeviceIdMinor; ULONG LxDeviceIdMinor;
} FILE_STAT_LX_INFORMATION, *PFILE_STAT_LX_INFORMATION; } FSP_FILE_STAT_LX_INFORMATION, *PFSP_FILE_STAT_LX_INFORMATION;
#endif #endif

View File

@ -435,7 +435,7 @@ static NTSTATUS FspFsvolQueryStatInformation(PFILE_OBJECT FileObject,
{ {
PAGED_CODE(); 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_NODE *FileNode = FileObject->FsContext;
FSP_FILE_DESC *FileDesc = FileObject->FsContext2; FSP_FILE_DESC *FileDesc = FileObject->FsContext2;
@ -473,7 +473,7 @@ static NTSTATUS FspFsvolQueryStatLxInformation(PFILE_OBJECT FileObject,
{ {
PAGED_CODE(); 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_NODE *FileNode = FileObject->FsContext;
FSP_FILE_DESC *FileDesc = FileObject->FsContext2; FSP_FILE_DESC *FileDesc = FileObject->FsContext2;
@ -528,7 +528,7 @@ static NTSTATUS FspFsvolQueryStatLxInformationEa(
PAGED_CODE(); PAGED_CODE();
FSP_FSVOL_DEVICE_EXTENSION *FsvolDeviceExtension = FspFsvolDeviceExtension(FsvolDeviceObject); 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 union
{ {
FILE_GET_EA_INFORMATION V; FILE_GET_EA_INFORMATION V;