#include "FsRtlP.h"
Go to the source code of this file.
Classes | |
struct | TUNNEL_NODE |
Defines | |
#define | INLINE __inline |
#define | TUNNEL_KEY_NAME L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\FileSystem" |
#define | TUNNEL_AGE_VALUE_NAME L"MaximumTunnelEntryAgeInSeconds" |
#define | TUNNEL_SIZE_VALUE_NAME L"MaximumTunnelEntries" |
#define | KEY_WORK_AREA ((sizeof(KEY_VALUE_FULL_INFORMATION) + sizeof(ULONG)) + 64) |
#define | MAX_LOOKASIDE_DEPTH 256 |
#define | LOOKASIDE_NODE_SIZE |
#define | TUNNEL_FLAG_NON_LOOKASIDE 0x1 |
#define | TUNNEL_FLAG_KEY_SHORT 0x2 |
Typedefs | |
typedef * | PTUNNEL_NODE |
Functions | |
NTSTATUS | FsRtlGetTunnelParameterValue (IN PUNICODE_STRING ValueName, IN OUT PULONG Value) |
VOID | FsRtlPruneTunnelCache (IN PTUNNEL Cache, IN OUT PLIST_ENTRY FreePoolList) |
INLINE LONG | FsRtlCompareNodeAndKey (TUNNEL_NODE *Node, ULONGLONG DirectoryKey, PUNICODE_STRING Name) |
INLINE VOID | FsRtlFreeTunnelNode (PTUNNEL_NODE Node, PLIST_ENTRY FreePoolList OPTIONAL) |
INLINE VOID | FsRtlEmptyFreePoolList (PLIST_ENTRY FreePoolList) |
INLINE VOID | FsRtlRemoveNodeFromTunnel (IN PTUNNEL Cache, IN PTUNNEL_NODE Node, IN PLIST_ENTRY FreePoolList, IN PBOOLEAN Splay OPTIONAL) |
VOID | FsRtlInitializeTunnels (VOID) |
VOID | FsRtlInitializeTunnelCache (IN PTUNNEL Cache) |
VOID | FsRtlAddToTunnelCache (IN PTUNNEL Cache, IN ULONGLONG DirKey, IN PUNICODE_STRING ShortName, IN PUNICODE_STRING LongName, IN BOOLEAN KeyByShortName, IN ULONG DataLength, IN PVOID Data) |
BOOLEAN | FsRtlFindInTunnelCache (IN PTUNNEL Cache, IN ULONGLONG DirKey, IN PUNICODE_STRING Name, OUT PUNICODE_STRING ShortName, OUT PUNICODE_STRING LongName, IN OUT PULONG DataLength, OUT PVOID Data) |
VOID | FsRtlDeleteKeyFromTunnelCache (IN PTUNNEL Cache, IN ULONGLONG DirKey) |
VOID | FsRtlDeleteTunnelCache (IN PTUNNEL Cache) |
Variables | |
ULONG | TunnelMaxEntries |
ULONG | TunnelMaxAge |
PAGED_LOOKASIDE_LIST | TunnelLookasideList |
|
|
|
|
|
Value: Definition at line 93 of file tunnel.c. Referenced by FsRtlAddToTunnelCache(), and FsRtlInitializeTunnels(). |
|
Definition at line 91 of file tunnel.c. Referenced by FsRtlInitializeTunnels(). |
|
Definition at line 71 of file tunnel.c. Referenced by FsRtlInitializeTunnels(). |
|
Definition at line 103 of file tunnel.c. Referenced by FsRtlAddToTunnelCache(), and FsRtlCompareNodeAndKey(). |
|
Definition at line 102 of file tunnel.c. Referenced by FsRtlAddToTunnelCache(), and FsRtlFreeTunnelNode(). |
|
Definition at line 70 of file tunnel.c. Referenced by FsRtlGetTunnelParameterValue(). |
|
Definition at line 72 of file tunnel.c. Referenced by FsRtlInitializeTunnels(). |
|
Referenced by FsRtlAddToTunnelCache(), FsRtlDeleteKeyFromTunnelCache(), FsRtlDeleteTunnelCache(), FsRtlEmptyFreePoolList(), FsRtlFindInTunnelCache(), and FsRtlPruneTunnelCache(). |
|
Definition at line 584 of file tunnel.c. References Compare(), DbgPrint, ExAllocateFromPagedLookasideList(), ExAllocatePoolWithTag, FALSE, FsRtlCompareNodeAndKey(), FsRtlEmptyFreePoolList(), FsRtlFreeTunnelNode(), FsRtlPruneTunnelCache(), KeQuerySystemTime(), LOOKASIDE_NODE_SIZE, NULL, PAGED_CODE, PagedPool, PTUNNEL_NODE, SetFlag, TRUE, TUNNEL_FLAG_KEY_SHORT, TUNNEL_FLAG_NON_LOOKASIDE, TunnelLookasideList, and TunnelMaxEntries.
|
|
Definition at line 218 of file tunnel.c. References TUNNEL_NODE::DirKey, FlagOn, TUNNEL_NODE::Flags, TUNNEL_NODE::LongName, Name, RtlCompareUnicodeString(), TUNNEL_NODE::ShortName, TRUE, and TUNNEL_FLAG_KEY_SHORT. Referenced by FsRtlAddToTunnelCache(), and FsRtlFindInTunnelCache().
|
|
Definition at line 1086 of file tunnel.c. References DbgPrint, FsRtlEmptyFreePoolList(), FsRtlRemoveNodeFromTunnel(), NULL, PAGED_CODE, PTUNNEL_NODE, RtlRealSuccessor(), TRUE, and TunnelMaxEntries.
|
|
Definition at line 1226 of file tunnel.c. References FsRtlFreeTunnelNode(), NULL, PAGED_CODE, PTUNNEL_NODE, and TunnelMaxEntries.
|
|
Definition at line 297 of file tunnel.c. References FsRtlFreeTunnelNode(), NULL, and PTUNNEL_NODE. Referenced by FsRtlAddToTunnelCache(), FsRtlDeleteKeyFromTunnelCache(), and FsRtlFindInTunnelCache().
|
|
Definition at line 913 of file tunnel.c. References ASSERT, Compare(), DbgPrint, FALSE, FsRtlAllocatePoolWithTag, FsRtlCompareNodeAndKey(), FsRtlEmptyFreePoolList(), FsRtlPruneTunnelCache(), Name, PAGED_CODE, PagedPool, PTUNNEL_NODE, RtlCopyUnicodeString(), Status, TRUE, and TunnelMaxEntries.
|
|
Definition at line 255 of file tunnel.c. References ExFreePool(), ExFreeToPagedLookasideList(), FlagOn, TUNNEL_FLAG_NON_LOOKASIDE, and TunnelLookasideList. Referenced by FsRtlAddToTunnelCache(), FsRtlDeleteTunnelCache(), FsRtlEmptyFreePoolList(), and FsRtlRemoveNodeFromTunnel().
|
|
Definition at line 1371 of file tunnel.c. References ASSERT, Buffer, ExAllocatePoolWithTag, ExFreePool(), Handle, KEY_WORK_AREA, KeyName, NT_SUCCESS, NTSTATUS(), NULL, ObjectAttributes, PagedPool, Status, TUNNEL_KEY_NAME, and ValueName. Referenced by FsRtlInitializeTunnels().
|
|
Definition at line 517 of file tunnel.c. References ExInitializeFastMutex, NULL, and PAGED_CODE.
|
|
Definition at line 382 of file tunnel.c. References ExInitializePagedLookasideList(), FsRtlGetTunnelParameterValue(), LOOKASIDE_NODE_SIZE, MAX_LOOKASIDE_DEPTH, MmIsThisAnNtAsSystem(), NULL, PAGED_CODE, TUNNEL_AGE_VALUE_NAME, TUNNEL_SIZE_VALUE_NAME, TunnelLookasideList, TunnelMaxAge, TunnelMaxEntries, USHORT, ValueName, and VOID(). Referenced by FsRtlInitSystem().
|
|
Definition at line 1281 of file tunnel.c. References DbgPrint, FsRtlRemoveNodeFromTunnel(), KeQuerySystemTime(), PAGED_CODE, PTUNNEL_NODE, TRUE, TunnelMaxAge, and TunnelMaxEntries. Referenced by FsRtlAddToTunnelCache(), and FsRtlFindInTunnelCache().
|
|
Definition at line 330 of file tunnel.c. References FALSE, FsRtlFreeTunnelNode(), RtlDelete(), and RtlDeleteNoSplay(). Referenced by FsRtlDeleteKeyFromTunnelCache(), and FsRtlPruneTunnelCache().
|
|
Definition at line 90 of file tunnel.c. Referenced by FsRtlAddToTunnelCache(), FsRtlFreeTunnelNode(), and FsRtlInitializeTunnels(). |
|
Definition at line 80 of file tunnel.c. Referenced by FsRtlInitializeTunnels(), and FsRtlPruneTunnelCache(). |
|
Definition at line 79 of file tunnel.c. Referenced by FsRtlAddToTunnelCache(), FsRtlDeleteKeyFromTunnelCache(), FsRtlDeleteTunnelCache(), FsRtlFindInTunnelCache(), FsRtlInitializeTunnels(), and FsRtlPruneTunnelCache(). |