Debugging Tools for Windows

!ks.eval

The !ks.eval extension evaluates an expression using an extension-specific expression evaluator.

Syntax

!ks.eval Expression 

Parameters

Expression
Specifies the expression to evaluate. Expression can include any MASM operators, symbols, or numerical syntax, as well as the extension-specific operators described below. For more information about MASM expressions, see MASM Numbers and Operators.

DLL

Windows NT 4.0 Not available
Windows 2000 winxp\ks.dll
Windows XP and later ks.dll

Comments

The extension module includes two extension-specific operators which can be used in address parameters to extension commands:

fdo(x)
Returns the functional device object associated with the object at address x.
driver(x)
Returns the driver object associated with fdo(x).

You can use the !ks.eval command to parse expressions that contain these extension-specific operators as well as MASM Numbers and Operators.

Note that all operators supported by !ks.eval are also supported by all other extension commands in the ks.dll extension module.

Here is an example of the !ks.eval extension being used with the address of a filter. Note the presence of the 0x8241C020 address in the !ks.allstreams output:

kd> !eval fdo(829493c4)
Resulting Evaluation: 8241c020

kd> !allstreams
6 Kernel Streaming FDOs found:
    Functional Device 82a17690 [\Driver\smwdm]
    Functional Device 8296eb08 [\Driver\wdmaud]
    Functional Device 82490388 [\Driver\sysaudio]
    Functional Device 82970cb8 [\Driver\MSPQM]
    Functional Device 824661b8 [\Driver\MSPCLOCK]
    Functional Device 8241c020 [\Driver\avssamp]

Additional Information

For more information, see Kernel Streaming Debugging.

Build machine: CAPEBUILD