From 9851f1b2c80b8cb0ee230801237051102c6c7dcc Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Wed, 29 Aug 2018 20:54:49 -0700 Subject: [PATCH] dotnet: properly handle SetDelete/CanDelete resolution --- src/dotnet/FileSystemBase.cs | 5 ++++- src/dotnet/FileSystemHost.cs | 21 --------------------- 2 files changed, 4 insertions(+), 22 deletions(-) diff --git a/src/dotnet/FileSystemBase.cs b/src/dotnet/FileSystemBase.cs index c5ce8be7..5ed61a15 100644 --- a/src/dotnet/FileSystemBase.cs +++ b/src/dotnet/FileSystemBase.cs @@ -1073,7 +1073,10 @@ namespace Fsp String FileName, Boolean DeleteFile) { - return STATUS_INVALID_DEVICE_REQUEST; + if (DeleteFile) + return CanDelete(FileNode, FileDesc, FileName); + else + return STATUS_SUCCESS; } /* helpers */ diff --git a/src/dotnet/FileSystemHost.cs b/src/dotnet/FileSystemHost.cs index 6a0a65dd..cbbca4e5 100644 --- a/src/dotnet/FileSystemHost.cs +++ b/src/dotnet/FileSystemHost.cs @@ -754,26 +754,6 @@ namespace Fsp return ExceptionHandler(FileSystem, ex); } } - private static Int32 CanDelete( - IntPtr FileSystemPtr, - ref FullContext FullContext, - String FileName) - { - FileSystemBase FileSystem = (FileSystemBase)Api.GetUserContext(FileSystemPtr); - try - { - Object FileNode, FileDesc; - Api.GetFullContext(ref FullContext, out FileNode, out FileDesc); - return FileSystem.CanDelete( - FileNode, - FileDesc, - FileName); - } - catch (Exception ex) - { - return ExceptionHandler(FileSystem, ex); - } - } private static Int32 Rename( IntPtr FileSystemPtr, ref FullContext FullContext, @@ -1109,7 +1089,6 @@ namespace Fsp _FileSystemInterface.GetFileInfo = GetFileInfo; _FileSystemInterface.SetBasicInfo = SetBasicInfo; _FileSystemInterface.SetFileSize = SetFileSize; - _FileSystemInterface.CanDelete = CanDelete; _FileSystemInterface.Rename = Rename; _FileSystemInterface.GetSecurity = GetSecurity; _FileSystemInterface.SetSecurity = SetSecurity;