23#define BugCheckFileId (CDFS_BUG_CHECK_LOCKCTRL)
26#pragma alloc_text(PAGE, CdCommonLockControl)
27#pragma alloc_text(PAGE, CdFastLock)
28#pragma alloc_text(PAGE, CdFastUnlockAll)
29#pragma alloc_text(PAGE, CdFastUnlockAllByKey)
30#pragma alloc_text(PAGE, CdFastUnlockSingle)
92 (
PVOID)CdOplockComplete,
254#pragma prefast(suppress: 28159, "prefast thinks this is an obsolete routine, but it is ok for CDFS to use it")
static PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(PIRP Irp)
VOID CdCompleteRequest(_Inout_opt_ PIRP_CONTEXT IrpContext, _Inout_opt_ PIRP Irp, _In_ NTSTATUS Status)
#define ASSERT_FILE_OBJECT(FO)
NTSTATUS CdCommonLockControl(_Inout_ PIRP_CONTEXT IrpContext, _Inout_ PIRP Irp)
_In_ PFCB _In_ LONGLONG FileOffset
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN TypeOfOpen
FAST_IO_UNLOCK_SINGLE CdFastUnlockSingle
TYPE_OF_OPEN CdFastDecodeFileObject(_In_ PFILE_OBJECT FileObject, _Out_ PFCB *Fcb)
#define CdGetFcbOplock(F)
_Inout_ PFILE_OBJECT _In_ TYPE_OF_OPEN PFCB _In_opt_ PCCB Ccb
BOOLEAN CdVerifyFcbOperation(_In_opt_ PIRP_CONTEXT IrpContext, _In_ PFCB Fcb)
FAST_IO_UNLOCK_ALL CdFastUnlockAll
enum _TYPE_OF_OPEN TYPE_OF_OPEN
FAST_IO_UNLOCK_ALL_BY_KEY CdFastUnlockAllByKey
#define CdIsFastIoPossible(F)
#define CdUnlockFcb(IC, F)
_In_ PIO_STACK_LOCATION IrpSp
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN BOOLEAN ExclusiveLock
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ULONG BOOLEAN FailImmediately
IN PLARGE_INTEGER IN PLARGE_INTEGER PEPROCESS ProcessId
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 FsRtlAreThereCurrentFileLocks(FL)
#define FsRtlFastLock(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)
__in UCHAR __in POWER_STATE __in_opt PVOID __in PIO_STATUS_BLOCK IoStatus
#define UNREFERENCED_PARAMETER(P)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define STATUS_RANGE_NOT_LOCKED
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 STATUS_INVALID_PARAMETER
_In_ PDEVICE_OBJECT DeviceObject
_In_ WDFREQUEST _In_ WDFFILEOBJECT FileObject