From f27dee21effbcecfcfc2eb1fde92874111802493 Mon Sep 17 00:00:00 2001 From: Bill Zissimopoulos Date: Sun, 3 Jan 2016 23:42:50 -0800 Subject: [PATCH] dll: WIP --- inc/winfsp/winfsp.h | 2 +- src/dll/create.c | 4 ++-- src/dll/loop.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/winfsp/winfsp.h b/inc/winfsp/winfsp.h index 3db3a443..8585860a 100644 --- a/inc/winfsp/winfsp.h +++ b/inc/winfsp/winfsp.h @@ -55,7 +55,7 @@ typedef struct _FSP_FILE_SYSTEM_INTERFACE NTSTATUS (*FileOpen)(FSP_FILE_SYSTEM *FileSystem, FSP_FSCTL_TRANSACT_REQ *Request, FSP_FILE_NODE **PFileNode); NTSTATUS (*FileOverwrite)(FSP_FILE_SYSTEM *FileSystem, - FSP_FSCTL_TRANSACT_REQ *Request, FSP_FILE_NODE **PFileNode); + FSP_FSCTL_TRANSACT_REQ *Request, BOOLEAN Supersede, FSP_FILE_NODE **PFileNode); NTSTATUS (*FileOpenTargetDirectory)(FSP_FILE_SYSTEM *FileSystem, FSP_FSCTL_TRANSACT_REQ *Request, FSP_FILE_NODE **PFileNode, PBOOLEAN PFileExists); NTSTATUS (*FileClose)(FSP_FILE_SYSTEM *FileSystem, diff --git a/src/dll/create.c b/src/dll/create.c index db092df3..90511d84 100644 --- a/src/dll/create.c +++ b/src/dll/create.c @@ -195,7 +195,7 @@ static NTSTATUS FspFileSystemOpCreate_FileOverwrite(FSP_FILE_SYSTEM *FileSystem, (~DELETE | (Request->Req.Create.DesiredAccess & DELETE)) : (~FILE_WRITE_DATA | (Request->Req.Create.DesiredAccess & FILE_WRITE_DATA)); - Result = FileSystem->Interface->FileOverwrite(FileSystem, Request, &FileNode); + Result = FileSystem->Interface->FileOverwrite(FileSystem, Request, Supersede, &FileNode); if (!NT_SUCCESS(Result)) return FspFileSystemSendResponseWithStatus(FileSystem, Request, Result); @@ -247,7 +247,7 @@ static NTSTATUS FspFileSystemOpCreate_FileOverwriteIf(FSP_FILE_SYSTEM *FileSyste if (!Create) { - Result = FileSystem->Interface->FileOverwrite(FileSystem, Request, &FileNode); + Result = FileSystem->Interface->FileOverwrite(FileSystem, Request, FALSE, &FileNode); if (!NT_SUCCESS(Result)) { if (STATUS_OBJECT_NAME_NOT_FOUND != Result) diff --git a/src/dll/loop.c b/src/dll/loop.c index a1620986..63deed6b 100644 --- a/src/dll/loop.c +++ b/src/dll/loop.c @@ -25,7 +25,7 @@ FSP_API NTSTATUS FspFileSystemCreate(PWSTR DevicePath, *PFileSystem = 0; if (0 == Interface) - Interface = FspFileSystemNullInterface; + Interface = &FspFileSystemNullInterface; FileSystem = MemAlloc(sizeof *FileSystem); if (0 == FileSystem)