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 {
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