mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
dll: open as directory when file's parent directory should be opened.
This commit is contained in:
parent
aedf01a384
commit
ac306c2ce1
@ -61,6 +61,7 @@ CONTRIBUTOR LIST
|
|||||||
|Felix Croes |felix at dworkin.nl
|
|Felix Croes |felix at dworkin.nl
|
||||||
|Francois Karam (KS2, http://www.ks2.fr) |francois.karam at ks2.fr
|
|Francois Karam (KS2, http://www.ks2.fr) |francois.karam at ks2.fr
|
||||||
|Fritz Elfert |fritz-github at fritz-elfert.de
|
|Fritz Elfert |fritz-github at fritz-elfert.de
|
||||||
|
|Gal Hammer (Red Hat, https://www.redhat.com) |ghammer at redhat.com
|
||||||
|John Oberschelp |john at oberschelp.net
|
|John Oberschelp |john at oberschelp.net
|
||||||
|John Tyner |jtyner at gmail.com
|
|John Tyner |jtyner at gmail.com
|
||||||
|Sam Kelly (DuroSoft Technologies LLC, https://durosoft.com) |sam at durosoft.com
|
|Sam Kelly (DuroSoft Technologies LLC, https://durosoft.com) |sam at durosoft.com
|
||||||
|
@ -763,6 +763,7 @@ static NTSTATUS FspFileSystemOpCreate_FileOpenTargetDirectory(FSP_FILE_SYSTEM *F
|
|||||||
UINT32 GrantedAccess;
|
UINT32 GrantedAccess;
|
||||||
FSP_FSCTL_TRANSACT_FULL_CONTEXT FullContext;
|
FSP_FSCTL_TRANSACT_FULL_CONTEXT FullContext;
|
||||||
FSP_FSCTL_OPEN_FILE_INFO OpenFileInfo;
|
FSP_FSCTL_OPEN_FILE_INFO OpenFileInfo;
|
||||||
|
UINT32 CreateOptions;
|
||||||
UINT32 Information;
|
UINT32 Information;
|
||||||
|
|
||||||
Result = FspFileSystemOpenTargetDirectoryCheck(FileSystem, Request, Response, &GrantedAccess);
|
Result = FspFileSystemOpenTargetDirectoryCheck(FileSystem, Request, Response, &GrantedAccess);
|
||||||
@ -775,8 +776,11 @@ static NTSTATUS FspFileSystemOpCreate_FileOpenTargetDirectory(FSP_FILE_SYSTEM *F
|
|||||||
OpenFileInfo.NormalizedName = (PVOID)Response->Buffer;
|
OpenFileInfo.NormalizedName = (PVOID)Response->Buffer;
|
||||||
OpenFileInfo.NormalizedNameSize = FSP_FSCTL_TRANSACT_RSP_BUFFER_SIZEMAX;
|
OpenFileInfo.NormalizedNameSize = FSP_FSCTL_TRANSACT_RSP_BUFFER_SIZEMAX;
|
||||||
FspPathSuffix((PWSTR)Request->Buffer, &Parent, &Suffix, Root);
|
FspPathSuffix((PWSTR)Request->Buffer, &Parent, &Suffix, Root);
|
||||||
|
CreateOptions = Request->Req.Create.CreateOptions;
|
||||||
|
CreateOptions |= FILE_DIRECTORY_FILE;
|
||||||
|
CreateOptions &= ~FILE_NON_DIRECTORY_FILE;
|
||||||
Result = FileSystem->Interface->Open(FileSystem,
|
Result = FileSystem->Interface->Open(FileSystem,
|
||||||
Parent, Request->Req.Create.CreateOptions, GrantedAccess,
|
Parent, CreateOptions, GrantedAccess,
|
||||||
AddrOfFileContext(FullContext), &OpenFileInfo.FileInfo);
|
AddrOfFileContext(FullContext), &OpenFileInfo.FileInfo);
|
||||||
FspPathCombine((PWSTR)Request->Buffer, Suffix);
|
FspPathCombine((PWSTR)Request->Buffer, Suffix);
|
||||||
if (!NT_SUCCESS(Result))
|
if (!NT_SUCCESS(Result))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user