From 0081596f8d05b69051adbfe760d93dde4cc232f4 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Mon, 30 Nov 2015 15:35:40 -0800 Subject: [PATCH] winfsp-tests: mount-test --- build/VStudio/testing/mirror.vcxproj | 5 +++-- build/VStudio/testing/mirror.vcxproj.filters | 14 ------------- build/VStudio/testing/winfsp-tests.vcxproj | 13 ++++++++---- build/VStudio/winfsp.sln | 8 ++++++++ inc/winfsp/fsctl.h | 2 +- src/dll/fsctl.c | 2 +- tst/winfsp-tests/mount-test.c | 21 ++++++++++++++++---- 7 files changed, 39 insertions(+), 26 deletions(-) diff --git a/build/VStudio/testing/mirror.vcxproj b/build/VStudio/testing/mirror.vcxproj index a07cb233..a0e5a2f0 100644 --- a/build/VStudio/testing/mirror.vcxproj +++ b/build/VStudio/testing/mirror.vcxproj @@ -165,8 +165,9 @@ - - + + {4a7c0b21-9e10-4c81-92de-1493efcf24eb} + diff --git a/build/VStudio/testing/mirror.vcxproj.filters b/build/VStudio/testing/mirror.vcxproj.filters index 34baf271..80ecc54c 100644 --- a/build/VStudio/testing/mirror.vcxproj.filters +++ b/build/VStudio/testing/mirror.vcxproj.filters @@ -5,24 +5,10 @@ {4FC737F1-C7A5-4376-A066-2A32D752A2FF} cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - {3370b3c4-4303-4098-a0cc-bc62c3e878dd} - - - {e2cf8fa1-6643-4c42-9377-465e2dd9dba3} - Source - - - Include\winfsp - - - Include\winfsp - - \ No newline at end of file diff --git a/build/VStudio/testing/winfsp-tests.vcxproj b/build/VStudio/testing/winfsp-tests.vcxproj index bac3daa6..5908c755 100644 --- a/build/VStudio/testing/winfsp-tests.vcxproj +++ b/build/VStudio/testing/winfsp-tests.vcxproj @@ -99,7 +99,7 @@ Level3 Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + __func__=__FUNCTION__;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true ..\..\..\src;..\..\..\inc;..\..\..\ext @@ -114,7 +114,7 @@ Level3 Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + __func__=__FUNCTION__;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true ..\..\..\src;..\..\..\inc;..\..\..\ext @@ -131,7 +131,7 @@ MaxSpeed true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + __func__=__FUNCTION__;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true ..\..\..\src;..\..\..\inc;..\..\..\ext @@ -150,7 +150,7 @@ MaxSpeed true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + __func__=__FUNCTION__;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true ..\..\..\src;..\..\..\inc;..\..\..\ext @@ -178,6 +178,11 @@ + + + {4a7c0b21-9e10-4c81-92de-1493efcf24eb} + + diff --git a/build/VStudio/winfsp.sln b/build/VStudio/winfsp.sln index a5976a97..16057469 100644 --- a/build/VStudio/winfsp.sln +++ b/build/VStudio/winfsp.sln @@ -10,8 +10,16 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "testing", "testing", "{69439FD1-C07D-4BF1-98DC-3CCFECE53A49}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mirror", "testing\mirror.vcxproj", "{AA7190E8-877F-4827-8CDD-E0D85F83C8C1}" + ProjectSection(ProjectDependencies) = postProject + {4A7C0B21-9E10-4C81-92DE-1493EFCF24EB} = {4A7C0B21-9E10-4C81-92DE-1493EFCF24EB} + {C85C26BA-8C22-4D30-83DA-46C3548E6332} = {C85C26BA-8C22-4D30-83DA-46C3548E6332} + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "winfsp-tests", "testing\winfsp-tests.vcxproj", "{262DF8CC-E7A8-4460-A22C-683CBA322C32}" + ProjectSection(ProjectDependencies) = postProject + {4A7C0B21-9E10-4C81-92DE-1493EFCF24EB} = {4A7C0B21-9E10-4C81-92DE-1493EFCF24EB} + {C85C26BA-8C22-4D30-83DA-46C3548E6332} = {C85C26BA-8C22-4D30-83DA-46C3548E6332} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/inc/winfsp/fsctl.h b/inc/winfsp/fsctl.h index 3050a652..7ec3a279 100644 --- a/inc/winfsp/fsctl.h +++ b/inc/winfsp/fsctl.h @@ -112,7 +112,7 @@ FSP_API NTSTATUS FspFsctlCreateVolume(PWSTR DevicePath, const FSP_FSCTL_VOLUME_PARAMS *Params, PSECURITY_DESCRIPTOR SecurityDescriptor, PWCHAR VolumePathBuf, SIZE_T VolumePathSize); FSP_API NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath, - PHANDLE *PVolumeHandle); + PHANDLE PVolumeHandle); FSP_API NTSTATUS FspFsctlDeleteVolume(HANDLE VolumeHandle); FSP_API NTSTATUS FspFsctlTransact(HANDLE VolumeHandle, FSP_FSCTL_TRANSACT_RSP *ResponseBuf, SIZE_T ResponseBufSize, diff --git a/src/dll/fsctl.c b/src/dll/fsctl.c index 71e309cb..af0857b4 100644 --- a/src/dll/fsctl.c +++ b/src/dll/fsctl.c @@ -103,7 +103,7 @@ exit: } FSP_API NTSTATUS FspFsctlOpenVolume(PWSTR VolumePath, - PHANDLE *PVolumeHandle) + PHANDLE PVolumeHandle) { NTSTATUS Result = STATUS_SUCCESS; WCHAR DevicePathBuf[MAX_PATH]; diff --git a/tst/winfsp-tests/mount-test.c b/tst/winfsp-tests/mount-test.c index f565e775..95411e84 100644 --- a/tst/winfsp-tests/mount-test.c +++ b/tst/winfsp-tests/mount-test.c @@ -5,16 +5,29 @@ void mount_dotest(PWSTR DeviceName) { NTSTATUS Result; + BOOLEAN Success; FSP_FSCTL_VOLUME_PARAMS Params; + WCHAR VolumePath[MAX_PATH]; + HANDLE VolumeHandle; - Params.SectorSize = 65536; - //Result = FspFsctlCreateVolume(DeviceName, &Params, ); + Params.SectorSize = (UINT16)65536; + Result = FspFsctlCreateVolume(DeviceName, &Params, 0, VolumePath, sizeof VolumePath); + ASSERT(STATUS_SUCCESS == Result); + + Result = FspFsctlOpenVolume(VolumePath, &VolumeHandle); + ASSERT(STATUS_SUCCESS == Result); + + Result = FspFsctlDeleteVolume(VolumeHandle); + ASSERT(STATUS_SUCCESS == Result); + + Success = CloseHandle(VolumeHandle); + ASSERT(Success); } void mount_test(void) { - mount_dotest("WinFsp.Disk"); - mount_dotest("WinFsp.Net"); + mount_dotest(L"WinFsp.Disk"); + //mount_dotest(L"WinFsp.Net"); } void mount_tests(void)