-Added some file locking improvements.

svn path=/trunk/; revision=4070
This commit is contained in:
Hartmut Birr 2003-01-25 18:53:27 +00:00
parent eb70f5ed97
commit 4bf9e37598

View file

@ -1,6 +1,6 @@
#ifndef __INCLUDE_DDK_FSTYPES_H
#define __INCLUDE_DDK_FSTYPES_H
/* $Id: fstypes.h,v 1.8 2002/11/07 02:44:49 robd Exp $ */
/* $Id: fstypes.h,v 1.9 2003/01/25 18:53:27 hbirr Exp $ */
#define FSRTL_TAG TAG('F','S','r','t')
@ -18,6 +18,8 @@ typedef struct _FILE_LOCK_TOC {
KSPIN_LOCK SpinLock;
LIST_ENTRY GrantedListHead;
LIST_ENTRY PendingListHead;
LIST_ENTRY CompletedListHead;
LIST_ENTRY UnlockedListHead;
} FILE_LOCK_TOC, *PFILE_LOCK_TOC;
typedef struct _FILE_LOCK_GRANTED {
@ -25,27 +27,6 @@ typedef struct _FILE_LOCK_GRANTED {
FILE_LOCK_INFO Lock;
} FILE_LOCK_GRANTED, *PFILE_LOCK_GRANTED;
typedef struct _FILE_LOCK_PENDING {
LIST_ENTRY ListEntry;
PIRP Irp;
PVOID Context;
} FILE_LOCK_PENDING, *PFILE_LOCK_PENDING;
// raw internal file lock struct returned from FsRtlGetNextFileLock
typedef struct _FILE_SHARED_LOCK_ENTRY {
PVOID Unknown1;
PVOID Unknown2;
FILE_LOCK_INFO FileLock;
} FILE_SHARED_LOCK_ENTRY, *PFILE_SHARED_LOCK_ENTRY;
// raw internal file lock struct returned from FsRtlGetNextFileLock
typedef struct _FILE_EXCLUSIVE_LOCK_ENTRY {
LIST_ENTRY ListEntry;
PVOID Unknown1;
PVOID Unknown2;
FILE_LOCK_INFO FileLock;
} FILE_EXCLUSIVE_LOCK_ENTRY, *PFILE_EXCLUSIVE_LOCK_ENTRY;
typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
IN PVOID Context,
IN PIRP Irp