23#define Dbg (DEBUG_TRACE_LOCKCTRL)
26#pragma alloc_text(PAGE, FatCommonLockControl)
27#pragma alloc_text(PAGE, FatFastLock)
28#pragma alloc_text(PAGE, FatFastUnlockAll)
29#pragma alloc_text(PAGE, FatFastUnlockAllByKey)
30#pragma alloc_text(PAGE, FatFastUnlockSingle)
31#pragma alloc_text(PAGE, FatFsdLockControl)
86 Status = FatCommonLockControl( IrpContext,
Irp );
185 DebugTrace(-1,
Dbg,
"FatFastLock -> TRUE (STATUS_INVALID_PARAMETER)\n", 0);
214#pragma prefast( suppress:28159, "prefast indicates this API is obsolete but it is ok for fastfat to continue using it" )
318 DebugTrace(-1,
Dbg,
"FatFastUnlockSingle -> TRUE (STATUS_INVALID_PARAMETER)\n", 0);
371 DebugTrace(-1,
Dbg,
"FatFastUnlockSingle -> %08lx\n", Results);
431 DebugTrace(-1,
Dbg,
"FatFastUnlockAll -> TRUE (STATUS_INVALID_PARAMETER)\n", 0);
494FatFastUnlockAllByKey (
547 DebugTrace(-1,
Dbg,
"FatFastUnlockAll -> TRUE (STATUS_INVALID_PARAMETER)\n", 0);
601 DebugTrace(-1,
Dbg,
"FatFastUnlockAllByKey -> %08lx\n", Results);
610FatCommonLockControl (
671 DebugTrace(-1,
Dbg,
"FatCommonLockControl -> STATUS_INVALID_PARAMETER\n", 0);
680 if (!FatAcquireSharedFcb( IrpContext,
Fcb )) {
695#if (NTDDI_VERSION >= NTDDI_WIN8)
721#if (NTDDI_VERSION >= NTDDI_WIN8)
727 OplockPostIrp =
TRUE;
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
_In_ PFCB _In_ LONGLONG FileOffset
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN TypeOfOpen
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
enum _TYPE_OF_OPEN TYPE_OF_OPEN
#define _Requires_lock_held_(lock)
_In_ PIO_STACK_LOCATION IrpSp
#define ExAcquireResourceSharedLite(res, wait)
ULONG FatExceptionFilter(IN PIRP_CONTEXT IrpContext, IN PEXCEPTION_POINTERS ExceptionPointer)
BOOLEAN FatIsIrpTopLevel(IN PIRP Irp)
#define DebugTrace(INDENT, LEVEL, X, Y)
NTSTATUS FatFsdPostRequest(IN PIRP_CONTEXT IrpContext, IN PIRP Irp)
TYPE_OF_OPEN FatDecodeFileObject(_In_ PFILE_OBJECT FileObject, _Outptr_ PVCB *Vcb, _Outptr_ PFCB *FcbOrDcb, _Outptr_ PCCB *Ccb)
IN PFCB IN PCCB IN TYPE_OF_OPEN IN BOOLEAN IN BOOLEAN TopLevel
#define FatCompleteRequest(IRPCONTEXT, IRP, STATUS)
#define FatReleaseFcb(IRPCONTEXT, Fcb)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
#define FatIsFastIoPossible(FCB)
VOID NTAPI FatOplockComplete(IN PVOID Context, IN PIRP Irp)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
#define FatGetFcbOplock(F)
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
PIRP_CONTEXT FatCreateIrpContext(IN PIRP Irp, IN BOOLEAN Wait)
NTSTATUS NTAPI FsRtlFastUnlockSingle(IN PFILE_LOCK FileLock, IN PFILE_OBJECT FileObject, IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER Length, IN PEPROCESS Process, IN ULONG Key, IN PVOID Context OPTIONAL, IN BOOLEAN AlreadySynchronized)
NTSTATUS NTAPI FsRtlProcessFileLock(IN PFILE_LOCK FileLock, IN PIRP Irp, IN PVOID Context OPTIONAL)
NTSTATUS NTAPI FsRtlFastUnlockAll(IN PFILE_LOCK FileLock, IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN PVOID Context OPTIONAL)
NTSTATUS NTAPI FsRtlFastUnlockAllByKey(IN PFILE_LOCK FileLock, IN PFILE_OBJECT FileObject, IN PEPROCESS Process, IN ULONG Key, IN PVOID Context OPTIONAL)
#define FsRtlEnterFileSystem
#define FsRtlExitFileSystem
#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
#define _Function_class_(x)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
DRIVER_DISPATCH(nfs41_FsdDispatch)
#define UNREFERENCED_PARAMETER(P)
_In_ ULONG _In_ ULONG _In_ ULONG Length
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
VOID NTAPI IoSetTopLevelIrp(IN PIRP Irp)
BOOLEAN NTAPI FsRtlOplockIsFastIoPossible(IN POPLOCK Oplock)
NTSTATUS NTAPI FsRtlCheckOplock(IN POPLOCK Oplock, IN PIRP Irp, IN PVOID Context, IN POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine OPTIONAL, IN POPLOCK_FS_PREPOST_IRP PostIrpRoutine OPTIONAL)
#define _SEH2_AbnormalTermination()
#define _SEH2_GetExceptionCode()
#define _SEH2_EXCEPT(...)
#define _SEH2_GetExceptionInformation()
#define IRP_MJ_LOCK_CONTROL
union _FCB::@729 Specific
struct _FCB::@729::@732 Fcb
FSRTL_ADVANCED_FCB_HEADER Header
struct _IO_STACK_LOCATION::@3974::@3990 LockControl
union _IO_STACK_LOCATION::@1575 Parameters
#define STATUS_INVALID_PARAMETER
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject