mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-23 08:53:01 -05:00
sys: FspOplockBreakH
This commit is contained in:
parent
2267eadbca
commit
bc8962d2b6
@ -514,11 +514,13 @@ NTSTATUS FspNotifyFullReportChange(
|
|||||||
ULONG FilterMatch,
|
ULONG FilterMatch,
|
||||||
ULONG Action,
|
ULONG Action,
|
||||||
PVOID TargetContext);
|
PVOID TargetContext);
|
||||||
NTSTATUS FspOplockFsctrlF(
|
NTSTATUS FspOplockBreakH(
|
||||||
POPLOCK Oplock,
|
POPLOCK Oplock,
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
ULONG OpenCount,
|
ULONG Flags,
|
||||||
BOOLEAN Create);
|
PVOID Context,
|
||||||
|
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
|
||||||
|
POPLOCK_FS_PREPOST_IRP PostIrpRoutine);
|
||||||
NTSTATUS FspCheckOplock(
|
NTSTATUS FspCheckOplock(
|
||||||
POPLOCK Oplock,
|
POPLOCK Oplock,
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
@ -532,6 +534,11 @@ NTSTATUS FspCheckOplockEx(
|
|||||||
PVOID Context,
|
PVOID Context,
|
||||||
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
|
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
|
||||||
POPLOCK_FS_PREPOST_IRP PostIrpRoutine);
|
POPLOCK_FS_PREPOST_IRP PostIrpRoutine);
|
||||||
|
NTSTATUS FspOplockFsctrlF(
|
||||||
|
POPLOCK Oplock,
|
||||||
|
PIRP Irp,
|
||||||
|
ULONG OpenCount,
|
||||||
|
BOOLEAN Create);
|
||||||
#define FspNotifyUninitializeSync(NS)\
|
#define FspNotifyUninitializeSync(NS)\
|
||||||
FsRtlNotifyUninitializeSync(NS)
|
FsRtlNotifyUninitializeSync(NS)
|
||||||
#define FspNotifyCleanupAll(NS, NL)\
|
#define FspNotifyCleanupAll(NS, NL)\
|
||||||
|
@ -67,6 +67,13 @@ NTSTATUS FspNotifyFullReportChange(
|
|||||||
ULONG FilterMatch,
|
ULONG FilterMatch,
|
||||||
ULONG Action,
|
ULONG Action,
|
||||||
PVOID TargetContext);
|
PVOID TargetContext);
|
||||||
|
NTSTATUS FspOplockBreakH(
|
||||||
|
POPLOCK Oplock,
|
||||||
|
PIRP Irp,
|
||||||
|
ULONG Flags,
|
||||||
|
PVOID Context,
|
||||||
|
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
|
||||||
|
POPLOCK_FS_PREPOST_IRP PostIrpRoutine);
|
||||||
NTSTATUS FspCheckOplock(
|
NTSTATUS FspCheckOplock(
|
||||||
POPLOCK Oplock,
|
POPLOCK Oplock,
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
@ -122,6 +129,7 @@ NTSTATUS FspIrpHookNext(PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context);
|
|||||||
#pragma alloc_text(PAGE, FspNotifyInitializeSync)
|
#pragma alloc_text(PAGE, FspNotifyInitializeSync)
|
||||||
#pragma alloc_text(PAGE, FspNotifyFullChangeDirectory)
|
#pragma alloc_text(PAGE, FspNotifyFullChangeDirectory)
|
||||||
#pragma alloc_text(PAGE, FspNotifyFullReportChange)
|
#pragma alloc_text(PAGE, FspNotifyFullReportChange)
|
||||||
|
#pragma alloc_text(PAGE, FspOplockBreakH)
|
||||||
#pragma alloc_text(PAGE, FspCheckOplock)
|
#pragma alloc_text(PAGE, FspCheckOplock)
|
||||||
#pragma alloc_text(PAGE, FspCheckOplockEx)
|
#pragma alloc_text(PAGE, FspCheckOplockEx)
|
||||||
#pragma alloc_text(PAGE, FspOplockFsctrlF)
|
#pragma alloc_text(PAGE, FspOplockFsctrlF)
|
||||||
@ -661,6 +669,36 @@ NTSTATUS FspNotifyFullReportChange(
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTSTATUS FspOplockBreakH(
|
||||||
|
POPLOCK Oplock,
|
||||||
|
PIRP Irp,
|
||||||
|
ULONG Flags,
|
||||||
|
PVOID Context,
|
||||||
|
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
|
||||||
|
POPLOCK_FS_PREPOST_IRP PostIrpRoutine)
|
||||||
|
{
|
||||||
|
PAGED_CODE();
|
||||||
|
|
||||||
|
NTSTATUS Result;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Result = FspOplockBreakH(
|
||||||
|
Oplock,
|
||||||
|
Irp,
|
||||||
|
Flags,
|
||||||
|
Context,
|
||||||
|
CompletionRoutine,
|
||||||
|
PostIrpRoutine);
|
||||||
|
}
|
||||||
|
except (EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Result = GetExceptionCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Result;
|
||||||
|
}
|
||||||
|
|
||||||
NTSTATUS FspCheckOplock(
|
NTSTATUS FspCheckOplock(
|
||||||
POPLOCK Oplock,
|
POPLOCK Oplock,
|
||||||
PIRP Irp,
|
PIRP Irp,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user