inc: winfsp.hpp: testing

This commit is contained in:
Bill Zissimopoulos 2017-03-27 17:38:52 -07:00
parent 763f256e1f
commit 0795774e9e

View File

@ -56,14 +56,13 @@ public:
/* ctor/dtor */ /* ctor/dtor */
FileSystem() : _VolumeParams(), _FileSystem(0) FileSystem() : _VolumeParams(), _FileSystem(0)
{ {
static NTSTATUS LoadResult = FspLoad(0);
_VolumeParams.SectorSize = 4096; _VolumeParams.SectorSize = 4096;
_VolumeParams.SectorsPerAllocationUnit = 1; _VolumeParams.SectorsPerAllocationUnit = 1;
_VolumeParams.MaxComponentLength = 255; _VolumeParams.MaxComponentLength = 255;
_VolumeParams.FileInfoTimeout = 1000; _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.UmFileContextIsFullContext = 1;
} }
virtual ~FileSystem() virtual ~FileSystem()
{ {
@ -170,20 +169,17 @@ public:
_VolumeParams.Prefix[0] ? L"WinFsp.Net" : L"WinFsp.Disk", _VolumeParams.Prefix[0] ? L"WinFsp.Net" : L"WinFsp.Disk",
&_VolumeParams, Interface(), &_FileSystem); &_VolumeParams, Interface(), &_FileSystem);
if (NT_SUCCESS(Result)) if (NT_SUCCESS(Result))
{
Result = FspFileSystemSetMountPointEx(_FileSystem, MountPoint, SecurityDescriptor);
if (NT_SUCCESS(Result))
Result = FspFileSystemStartDispatcher(_FileSystem, 0);
}
if (NT_SUCCESS(Result))
{ {
_FileSystem->UserContext = this; _FileSystem->UserContext = this;
FspFileSystemSetOperationGuardStrategy(_FileSystem, Synchronized ? FspFileSystemSetOperationGuardStrategy(_FileSystem, Synchronized ?
FSP_FILE_SYSTEM_OPERATION_GUARD_STRATEGY_COARSE : FSP_FILE_SYSTEM_OPERATION_GUARD_STRATEGY_COARSE :
FSP_FILE_SYSTEM_OPERATION_GUARD_STRATEGY_FINE); FSP_FILE_SYSTEM_OPERATION_GUARD_STRATEGY_FINE);
FspFileSystemSetDebugLog(_FileSystem, DebugLog); FspFileSystemSetDebugLog(_FileSystem, DebugLog);
Result = FspFileSystemSetMountPointEx(_FileSystem, MountPoint, SecurityDescriptor);
if (NT_SUCCESS(Result))
Result = FspFileSystemStartDispatcher(_FileSystem, 0);
} }
else if (0 != _FileSystem) if (!NT_SUCCESS(Result) && 0 != _FileSystem)
{ {
FspFileSystemDelete(_FileSystem); FspFileSystemDelete(_FileSystem);
_FileSystem = 0; _FileSystem = 0;