mirror of
https://github.com/winfsp/winfsp.git
synced 2025-06-15 08:12:45 -05:00
fsctl: FSP_FSCTL_FILE_INFO and related changes
This commit is contained in:
@ -546,8 +546,8 @@ VOID FspFsvolCreateComplete(
|
||||
}
|
||||
|
||||
/* populate the FileNode/FileDesc fields from the Response */
|
||||
FileNode->Header.AllocationSize.QuadPart = Response->Rsp.Create.Opened.AllocationSize;
|
||||
FileNode->Header.FileSize.QuadPart = Response->Rsp.Create.Opened.FileSize;
|
||||
FileNode->Header.AllocationSize.QuadPart = Response->Rsp.Create.Opened.FileInfo.AllocationSize;
|
||||
FileNode->Header.FileSize.QuadPart = Response->Rsp.Create.Opened.FileInfo.FileSize;
|
||||
FileNode->UserContext = Response->Rsp.Create.Opened.UserContext;
|
||||
FileDesc->UserContext2 = Response->Rsp.Create.Opened.UserContext2;
|
||||
|
||||
@ -592,7 +592,7 @@ VOID FspFsvolCreateComplete(
|
||||
* If the user wants to delete on close, we must check at this
|
||||
* point though.
|
||||
*/
|
||||
if (!FlagOn(Response->Rsp.Create.Opened.FileAttributes, FILE_ATTRIBUTE_DIRECTORY) &&
|
||||
if (!FlagOn(Response->Rsp.Create.Opened.FileInfo.FileAttributes, FILE_ATTRIBUTE_DIRECTORY) &&
|
||||
(FlagOn(Response->Rsp.Create.Opened.GrantedAccess, FILE_WRITE_DATA) ||
|
||||
DeleteOnClose))
|
||||
{
|
||||
@ -616,7 +616,7 @@ VOID FspFsvolCreateComplete(
|
||||
|
||||
/* save the old Request FileAttributes and make them compatible with the open file */
|
||||
UINT32 FileAttributes = Request->Req.Create.FileAttributes;
|
||||
if (FlagOn(Response->Rsp.Create.Opened.FileAttributes, FILE_ATTRIBUTE_DIRECTORY))
|
||||
if (FlagOn(Response->Rsp.Create.Opened.FileInfo.FileAttributes, FILE_ATTRIBUTE_DIRECTORY))
|
||||
SetFlag(FileAttributes, FILE_ATTRIBUTE_DIRECTORY);
|
||||
else
|
||||
ClearFlag(FileAttributes, FILE_ATTRIBUTE_DIRECTORY);
|
||||
@ -677,8 +677,8 @@ VOID FspFsvolCreateComplete(
|
||||
}
|
||||
|
||||
/* file was successfully overwritten/superseded */
|
||||
FileNode->Header.AllocationSize.QuadPart = Response->Rsp.Overwrite.AllocationSize;
|
||||
FileNode->Header.FileSize.QuadPart = Response->Rsp.Overwrite.FileSize;
|
||||
FileNode->Header.AllocationSize.QuadPart = Response->Rsp.Overwrite.FileInfo.AllocationSize;
|
||||
FileNode->Header.FileSize.QuadPart = Response->Rsp.Overwrite.FileInfo.FileSize;
|
||||
CcSetFileSizes(FileObject, (PCC_FILE_SIZES)&FileNode->Header.AllocationSize);
|
||||
|
||||
FspFileNodeRelease(FileNode, Both);
|
||||
|
@ -582,7 +582,7 @@ VOID FspFileNodeAcquireExclusive(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
BOOLEAN FspFileNodeTryAcquireExclusive(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
VOID FspFileNodeRelease(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
FSP_FILE_NODE *FspFileNodeOpen(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
||||
DWORD GrantedAccess, DWORD ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult);
|
||||
UINT32 GrantedAccess, UINT32 ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult);
|
||||
VOID FspFileNodeClose(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
||||
PBOOLEAN PDeletePending);
|
||||
NTSTATUS FspFileDescCreate(FSP_FILE_DESC **PFileDesc);
|
||||
|
@ -21,7 +21,7 @@ VOID FspFileNodeAcquireExclusive(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
BOOLEAN FspFileNodeTryAcquireExclusive(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
VOID FspFileNodeRelease(FSP_FILE_NODE *FileNode, ULONG Flags);
|
||||
FSP_FILE_NODE *FspFileNodeOpen(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
||||
DWORD GrantedAccess, DWORD ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult);
|
||||
UINT32 GrantedAccess, UINT32 ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult);
|
||||
VOID FspFileNodeClose(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
||||
PBOOLEAN PDeletePending);
|
||||
|
||||
@ -188,7 +188,7 @@ VOID FspFileNodeRelease(FSP_FILE_NODE *FileNode, ULONG Flags)
|
||||
}
|
||||
|
||||
FSP_FILE_NODE *FspFileNodeOpen(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
||||
DWORD GrantedAccess, DWORD ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult)
|
||||
UINT32 GrantedAccess, UINT32 ShareAccess, BOOLEAN DeleteOnClose, NTSTATUS *PResult)
|
||||
{
|
||||
/*
|
||||
* Attempt to insert our FileNode into the volume device's generic table.
|
||||
|
Reference in New Issue
Block a user