75 lines
1.4 KiB
C
75 lines
1.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1992 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
GenTable.c
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
WinDbg Extension Api for walking RtlGenericTable structures
|
||
|
Contains no direct ! entry points, but has makes it possible to
|
||
|
enumerate through generic tables. The standard Rtl functions
|
||
|
cannot be used by debugger extensions because they dereference
|
||
|
pointers to data on the machine being debugged. The function
|
||
|
KdEnumerateGenericTableWithoutSplaying implemented in this
|
||
|
module can be used within kernel debugger extensions. The
|
||
|
enumeration function RtlEnumerateGenericTable has no parallel
|
||
|
in this module, since splaying the tree is an intrusive operation,
|
||
|
and debuggers should try not to be intrusive.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Keith Kaplan [KeithKa] 09-May-96
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
User Mode.
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
PRTL_SPLAY_LINKS
|
||
|
KdParent (
|
||
|
IN PRTL_SPLAY_LINKS pLinks
|
||
|
);
|
||
|
|
||
|
PRTL_SPLAY_LINKS
|
||
|
KdLeftChild (
|
||
|
IN PRTL_SPLAY_LINKS pLinks
|
||
|
);
|
||
|
|
||
|
PRTL_SPLAY_LINKS
|
||
|
KdRightChild (
|
||
|
IN PRTL_SPLAY_LINKS pLinks
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
KdIsLeftChild (
|
||
|
IN PRTL_SPLAY_LINKS Links
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
KdIsRightChild (
|
||
|
IN PRTL_SPLAY_LINKS Links
|
||
|
);
|
||
|
|
||
|
BOOLEAN
|
||
|
KdIsGenericTableEmpty (
|
||
|
IN PRTL_GENERIC_TABLE Table
|
||
|
);
|
||
|
|
||
|
PRTL_SPLAY_LINKS
|
||
|
KdRealSuccessor (
|
||
|
IN PRTL_SPLAY_LINKS Links
|
||
|
);
|
||
|
|
||
|
ULONG64
|
||
|
KdEnumerateGenericTableWithoutSplaying (
|
||
|
IN ULONG64 pTable,
|
||
|
IN ULONG64 *RestartKey
|
||
|
);
|