inc: winfsp.hpp: improvements

This commit is contained in:
Bill Zissimopoulos 2017-03-27 13:43:43 -07:00
parent 87c5f19ce1
commit 7afdee7c01

View File

@ -44,12 +44,12 @@ public:
}; };
enum CLEANUP_FLAGS enum CLEANUP_FLAGS
{ {
Delete = FspCleanupDelete, CleanupDelete = FspCleanupDelete,
SetAllocationSize = FspCleanupSetAllocationSize, CleanupSetAllocationSize = FspCleanupSetAllocationSize,
SetArchiveBit = FspCleanupSetArchiveBit, CleanupSetArchiveBit = FspCleanupSetArchiveBit,
SetLastAccessTime = FspCleanupSetLastAccessTime, CleanupSetLastAccessTime = FspCleanupSetLastAccessTime,
SetLastWriteTime = FspCleanupSetLastWriteTime, CleanupSetLastWriteTime = FspCleanupSetLastWriteTime,
SetChangeTime = FspCleanupSetChangeTime, CleanupSetChangeTime = FspCleanupSetChangeTime,
}; };
public: public:
@ -60,6 +60,7 @@ public:
_VolumeParams.SectorSize = 4096; _VolumeParams.SectorSize = 4096;
_VolumeParams.SectorsPerAllocationUnit = 1; _VolumeParams.SectorsPerAllocationUnit = 1;
_VolumeParams.MaxComponentLength = 255; _VolumeParams.MaxComponentLength = 255;
_VolumeParams.FileInfoTimeout = 1000;
GetSystemTimeAsFileTime((PFILETIME)&_VolumeParams.VolumeCreationTime); GetSystemTimeAsFileTime((PFILETIME)&_VolumeParams.VolumeCreationTime);
_VolumeParams.VolumeSerialNumber = (UINT32)(_VolumeParams.VolumeCreationTime / (10000 * 1000)); _VolumeParams.VolumeSerialNumber = (UINT32)(_VolumeParams.VolumeCreationTime / (10000 * 1000));
_VolumeParams.UmFileContextIsUserContext2 = 1; _VolumeParams.UmFileContextIsUserContext2 = 1;
@ -257,6 +258,7 @@ public:
ReplaceReparseData, ReplaceReparseDataSize); ReplaceReparseData, ReplaceReparseDataSize);
} }
protected:
/* operations */ /* operations */
virtual NTSTATUS GetVolumeInfo( virtual NTSTATUS GetVolumeInfo(
VOLUME_INFO *VolumeInfo) VOLUME_INFO *VolumeInfo)
@ -436,7 +438,7 @@ private:
PVOID *FullContext, FILE_INFO *FileInfo) PVOID *FullContext, FILE_INFO *FileInfo)
{ {
FileSystem *self = (FileSystem *)FileSystem0->UserContext; FileSystem *self = (FileSystem *)FileSystem0->UserContext;
FILE_CONTEXT FileContext; FILE_CONTEXT FileContext = { 0 };
NTSTATUS Result = self->Create( NTSTATUS Result = self->Create(
FileName, CreateOptions, GrantedAccess, FileAttributes, SecurityDescriptor, AllocationSize, FileName, CreateOptions, GrantedAccess, FileAttributes, SecurityDescriptor, AllocationSize,
&FileContext, FspFileSystemGetOpenFileInfo(FileInfo)); &FileContext, FspFileSystemGetOpenFileInfo(FileInfo));
@ -449,7 +451,7 @@ private:
PVOID *FullContext, FILE_INFO *FileInfo) PVOID *FullContext, FILE_INFO *FileInfo)
{ {
FileSystem *self = (FileSystem *)FileSystem0->UserContext; FileSystem *self = (FileSystem *)FileSystem0->UserContext;
FILE_CONTEXT FileContext; FILE_CONTEXT FileContext = { 0 };
NTSTATUS Result = self->Open( NTSTATUS Result = self->Open(
FileName, CreateOptions, GrantedAccess, FileName, CreateOptions, GrantedAccess,
&FileContext, FspFileSystemGetOpenFileInfo(FileInfo)); &FileContext, FspFileSystemGetOpenFileInfo(FileInfo));