mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-24 01:13:04 -05:00
sys: FspFileNodeOpen/FspFileNodeClose: insert FileNode in the ContextByName table
This commit is contained in:
parent
0ec5291c70
commit
38839ddd82
@ -261,6 +261,9 @@ FSP_FILE_NODE *FspFileNodeOpen(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
|||||||
*/
|
*/
|
||||||
ASSERT(OpenedFileNode == FileNode);
|
ASSERT(OpenedFileNode == FileNode);
|
||||||
|
|
||||||
|
FspFsvolDeviceInsertContextByName(FsvolDeviceObject,
|
||||||
|
&FileNode->FileName, FileNode, &FileNode->ContextByNameElementStorage, 0);
|
||||||
|
|
||||||
IoSetShareAccess(GrantedAccess, ShareAccess, FileObject,
|
IoSetShareAccess(GrantedAccess, ShareAccess, FileObject,
|
||||||
&OpenedFileNode->ShareAccess);
|
&OpenedFileNode->ShareAccess);
|
||||||
}
|
}
|
||||||
@ -345,7 +348,11 @@ VOID FspFileNodeClose(FSP_FILE_NODE *FileNode, PFILE_OBJECT FileObject,
|
|||||||
|
|
||||||
IoRemoveShareAccess(FileObject, &FileNode->ShareAccess);
|
IoRemoveShareAccess(FileObject, &FileNode->ShareAccess);
|
||||||
if (0 == --FileNode->OpenCount)
|
if (0 == --FileNode->OpenCount)
|
||||||
|
{
|
||||||
FspFsvolDeviceDeleteContext(FsvolDeviceObject, FileNode->UserContext, &Deleted);
|
FspFsvolDeviceDeleteContext(FsvolDeviceObject, FileNode->UserContext, &Deleted);
|
||||||
|
if (Deleted)
|
||||||
|
FspFsvolDeviceDeleteContextByName(FsvolDeviceObject, &FileNode->FileName, 0);
|
||||||
|
}
|
||||||
|
|
||||||
FspFsvolDeviceUnlockContextTable(FsvolDeviceObject);
|
FspFsvolDeviceUnlockContextTable(FsvolDeviceObject);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user