-Added some file locking improvements. (Thanks to Gunnar Andr� Dalsnes)

svn path=/trunk/; revision=4064
This commit is contained in:
Hartmut Birr 2003-01-25 15:52:43 +00:00
parent 1fb967f911
commit ca34b94db6
2 changed files with 877 additions and 810 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
#ifndef __INCLUDE_INTERNAL_IFS_H #ifndef __INCLUDE_INTERNAL_IFS_H
#define __INCLUDE_INTERNAL_IFS_H #define __INCLUDE_INTERNAL_IFS_H
/* $Id: ifs.h,v 1.4 2002/11/13 06:01:11 robd Exp $ */ /* $Id: ifs.h,v 1.5 2003/01/25 15:52:43 hbirr Exp $ */
#include <ddk/ntifs.h> #include <ddk/ntifs.h>
@ -11,12 +11,12 @@ VOID STDCALL
FsRtlpInitFileLockingImplementation(VOID); FsRtlpInitFileLockingImplementation(VOID);
VOID STDCALL VOID STDCALL
FsRtlpPendingFileLockCancelRoutine( FsRtlpFileLockCancelRoutine(
IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp IN PIRP Irp
); );
BOOLEAN STDCALL BOOLEAN FASTCALL
FsRtlpCheckLockForReadOrWriteAccess( FsRtlpCheckLockForReadOrWriteAccess(
IN PFILE_LOCK FileLock, IN PFILE_LOCK FileLock,
IN PLARGE_INTEGER FileOffset, IN PLARGE_INTEGER FileOffset,
@ -27,7 +27,7 @@ FsRtlpCheckLockForReadOrWriteAccess(
IN BOOLEAN Read IN BOOLEAN Read
); );
NTSTATUS STDCALL NTSTATUS FASTCALL
FsRtlpFastUnlockAllByKey( FsRtlpFastUnlockAllByKey(
IN PFILE_LOCK FileLock, IN PFILE_LOCK FileLock,
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
@ -37,7 +37,7 @@ FsRtlpFastUnlockAllByKey(
IN PVOID Context OPTIONAL IN PVOID Context OPTIONAL
); );
NTSTATUS STDCALL NTSTATUS FASTCALL
FsRtlpAddLock( FsRtlpAddLock(
IN PFILE_LOCK_TOC LockToc, IN PFILE_LOCK_TOC LockToc,
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
@ -48,14 +48,14 @@ FsRtlpAddLock(
IN BOOLEAN ExclusiveLock IN BOOLEAN ExclusiveLock
); );
VOID STDCALL VOID FASTCALL
FsRtlpTryCompletePendingLocks( FsRtlpCompletePendingLocks(
IN PFILE_LOCK FileLock, IN PFILE_LOCK FileLock,
IN PFILE_LOCK_TOC LockToc, IN PFILE_LOCK_TOC LockToc,
IN OUT PKIRQL oldirql IN OUT PKIRQL oldirql
); );
NTSTATUS STDCALL NTSTATUS FASTCALL
FsRtlpUnlockSingle( FsRtlpUnlockSingle(
IN PFILE_LOCK FileLock, IN PFILE_LOCK FileLock,
IN PFILE_OBJECT FileObject, IN PFILE_OBJECT FileObject,
@ -68,7 +68,7 @@ FsRtlpUnlockSingle(
IN BOOLEAN CallUnlockRoutine IN BOOLEAN CallUnlockRoutine
); );
VOID STDCALL VOID FASTCALL
FsRtlpDumpFileLocks( FsRtlpDumpFileLocks(
IN PFILE_LOCK FileLock IN PFILE_LOCK FileLock
); );