mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 22:13:06 +00:00
[FASTFAT]
Properly handle shared accesses on volume open. No need to add the support for this in cleanup, it was already there. svn path=/trunk/; revision=65508
This commit is contained in:
parent
98669c13f1
commit
3c6889480c
1 changed files with 21 additions and 0 deletions
|
@ -503,6 +503,27 @@ VfatCreateFile(
|
||||||
}
|
}
|
||||||
|
|
||||||
pFcb = DeviceExt->VolumeFcb;
|
pFcb = DeviceExt->VolumeFcb;
|
||||||
|
|
||||||
|
if (pFcb->OpenHandleCount == 0)
|
||||||
|
{
|
||||||
|
IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
|
||||||
|
Stack->Parameters.Create.ShareAccess,
|
||||||
|
FileObject,
|
||||||
|
&pFcb->FCBShareAccess);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
|
||||||
|
Stack->Parameters.Create.ShareAccess,
|
||||||
|
FileObject,
|
||||||
|
&pFcb->FCBShareAccess,
|
||||||
|
FALSE);
|
||||||
|
if (!NT_SUCCESS(Status))
|
||||||
|
{
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
vfatAttachFCBToFileObject(DeviceExt, pFcb, FileObject);
|
vfatAttachFCBToFileObject(DeviceExt, pFcb, FileObject);
|
||||||
DeviceExt->OpenHandleCount++;
|
DeviceExt->OpenHandleCount++;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue