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)