mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 00:43:00 -05:00
sys: FspWqOplockPrepare: use work routine
This commit is contained in:
parent
f2535484ea
commit
2772af5478
@ -51,7 +51,7 @@ static NTSTATUS FspFsvolLockControlRetry(
|
|||||||
|
|
||||||
/* perform oplock check; we are only implementing Win7 behavior */
|
/* perform oplock check; we are only implementing Win7 behavior */
|
||||||
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
|
Result = FspCheckOplock(FspFileNodeAddrOfOplock(FileNode), Irp,
|
||||||
0, FspWqOplockComplete, FspWqOplockPrepare);
|
(PVOID)(UINT_PTR)FspFsvolLockControlRetry, FspWqOplockComplete, FspWqOplockPrepare);
|
||||||
if (STATUS_PENDING == Result)
|
if (STATUS_PENDING == Result)
|
||||||
{
|
{
|
||||||
FspFileNodeRelease(FileNode, Main);
|
FspFileNodeRelease(FileNode, Main);
|
||||||
|
@ -176,7 +176,10 @@ VOID FspWqOplockPrepare(PVOID Context, PIRP Irp)
|
|||||||
|
|
||||||
NTSTATUS Result;
|
NTSTATUS Result;
|
||||||
|
|
||||||
Result = FspWqPrepareIrpWorkItem(Irp);
|
FSP_FSCTL_STATIC_ASSERT(sizeof(PVOID) == sizeof(VOID (*)(VOID)),
|
||||||
|
"Data and code pointers must have same size!");
|
||||||
|
|
||||||
|
Result = FspWqCreateAndPostIrpWorkItem(Irp, (FSP_IOP_REQUEST_WORK *)(UINT_PTR)Context, 0, TRUE);
|
||||||
if (!NT_SUCCESS(Result))
|
if (!NT_SUCCESS(Result))
|
||||||
/*
|
/*
|
||||||
* Only way to communicate failure is through ExRaiseStatus.
|
* Only way to communicate failure is through ExRaiseStatus.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user