00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #define RTL_REMOVE_LOCK_SIG 'COLR'
00031
00032
#if DBG
00033
typedef struct _RTL_REMOVE_LOCK_TRACKING_BLOCK {
00034
struct _RTL_REMOVE_LOCK_TRACKING_BLOCK * Link;
00035 PVOID Tag;
00036 LARGE_INTEGER TimeLocked;
00037 PCSTR
File;
00038 ULONG Line;
00039 } RTL_REMOVE_LOCK_TRACKING_BLOCK, *PRTL_REMOVE_LOCK_TRACKING_BLOCK;
00040
#endif
00041
00042
00043 typedef struct _RTL_REMOVE_LOCK {
00044 LONG
Signature;
00045 BOOLEAN
Removed;
00046 BOOLEAN
Reserved [3];
00047 LONG
IoCount;
00048 KEVENT RemoveEvent;
00049
#if DBG
00050
LONG HighWatermark;
00051 LONG MaxLockedMinutes;
00052 LONG AllocateTag;
00053 LIST_ENTRY LockList;
00054 KSPIN_LOCK Spin;
00055 RTL_REMOVE_LOCK_TRACKING_BLOCK Blocks;
00056
#endif
00057
}
RTL_REMOVE_LOCK, *
PRTL_REMOVE_LOCK;