mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 00:43:00 -05:00
sys: FspFsvolSetDispositionInformation
return STATUS_FILE_DELETED if file is already deleted
This commit is contained in:
parent
91211f6ccb
commit
c4f994f8f6
@ -1484,7 +1484,7 @@ retry:
|
|||||||
|
|
||||||
if (FileNode->PosixDelete)
|
if (FileNode->PosixDelete)
|
||||||
{
|
{
|
||||||
Result = STATUS_ACCESS_DENIED;
|
Result = STATUS_FILE_DELETED;
|
||||||
goto unlock_exit;
|
goto unlock_exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -943,7 +943,7 @@ static void delete_ex_dotest(ULONG Flags, PWSTR VolPrefix, PWSTR Prefix, ULONG F
|
|||||||
/* POSIX Semantics / Ignore Readonly */
|
/* POSIX Semantics / Ignore Readonly */
|
||||||
|
|
||||||
Handle0 = CreateFileW(FilePath,
|
Handle0 = CreateFileW(FilePath,
|
||||||
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0,
|
GENERIC_READ | GENERIC_WRITE | DELETE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 0,
|
||||||
CREATE_NEW, FILE_ATTRIBUTE_READONLY, 0);
|
CREATE_NEW, FILE_ATTRIBUTE_READONLY, 0);
|
||||||
ASSERT(INVALID_HANDLE_VALUE != Handle0);
|
ASSERT(INVALID_HANDLE_VALUE != Handle0);
|
||||||
|
|
||||||
@ -997,7 +997,7 @@ static void delete_ex_dotest(ULONG Flags, PWSTR VolPrefix, PWSTR Prefix, ULONG F
|
|||||||
Handle0, &IoStatus,
|
Handle0, &IoStatus,
|
||||||
&DispositionInfo, sizeof DispositionInfo,
|
&DispositionInfo, sizeof DispositionInfo,
|
||||||
64/*FileDispositionInformationEx*/);
|
64/*FileDispositionInformationEx*/);
|
||||||
ASSERT(STATUS_ACCESS_DENIED == IoStatus.Status);
|
ASSERT(STATUS_FILE_DELETED == IoStatus.Status);
|
||||||
|
|
||||||
memset(&DispositionInfo, 0, sizeof DispositionInfo);
|
memset(&DispositionInfo, 0, sizeof DispositionInfo);
|
||||||
DispositionInfo.Flags = 1; /* DELETE */
|
DispositionInfo.Flags = 1; /* DELETE */
|
||||||
@ -1005,7 +1005,7 @@ static void delete_ex_dotest(ULONG Flags, PWSTR VolPrefix, PWSTR Prefix, ULONG F
|
|||||||
Handle0, &IoStatus,
|
Handle0, &IoStatus,
|
||||||
&DispositionInfo, sizeof DispositionInfo,
|
&DispositionInfo, sizeof DispositionInfo,
|
||||||
64/*FileDispositionInformationEx*/);
|
64/*FileDispositionInformationEx*/);
|
||||||
ASSERT(STATUS_ACCESS_DENIED == IoStatus.Status);
|
ASSERT(STATUS_FILE_DELETED == IoStatus.Status);
|
||||||
|
|
||||||
CloseHandle(Handle0);
|
CloseHandle(Handle0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user