1 #ifndef __INCLUDE_DDK_FSTYPES_H
2 #define __INCLUDE_DDK_FSTYPES_H
7 typedef struct _FILE_LOCK_INFO {
8 LARGE_INTEGER StartingByte;
10 BOOLEAN ExclusiveLock;
12 PFILE_OBJECT FileObject;
14 LARGE_INTEGER EndingByte;
15 } FILE_LOCK_INFO, *PFILE_LOCK_INFO;
18 typedef NTSTATUS (*PCOMPLETE_LOCK_IRP_ROUTINE) (
23 typedef VOID (*PUNLOCK_ROUTINE) (
25 IN PFILE_LOCK_INFO FileLockInfo
29 typedef struct _FILE_LOCK {
30 PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine;
31 PUNLOCK_ROUTINE UnlockRoutine;
32 BOOLEAN FastIoIsQuestionable;
34 PVOID LockInformation;
35 FILE_LOCK_INFO LastReturnedLockInfo;
36 PVOID LastReturnedLock;
37 } FILE_LOCK, *PFILE_LOCK;
40 typedef struct _TUNNEL {
42 PRTL_SPLAY_LINKS Cache;
43 LIST_ENTRY TimerQueue;
47 typedef struct _NOTIFY_SYNC
49 DWORD Unknown0; /* 0x00 */
50 DWORD Unknown1; /* 0x04 */
51 DWORD Unknown2; /* 0x08 */
52 WORD Unknown3; /* 0x0c */
53 WORD Unknown4; /* 0x0e */
54 DWORD Unknown5; /* 0x10 */
55 DWORD Unknown6; /* 0x14 */
56 DWORD Unknown7; /* 0x18 */
57 DWORD Unknown8; /* 0x1c */
58 DWORD Unknown9; /* 0x20 */
59 DWORD Unknown10; /* 0x24 */
61 } NOTIFY_SYNC, * PNOTIFY_SYNC;
65 (*POPLOCK_WAIT_COMPLETE_ROUTINE)(PVOID Context,
69 (*POPLOCK_FS_PREPOST_IRP)(PVOID Context,
72 typedef PVOID OPLOCK, *POPLOCK;
74 #endif /* __USE_W32API */
76 #endif /* __INCLUDE_DDK_FSFUNCS_H */